看成爲一個新成員參與別人已經建好的項目中,此時遠程已經有有一些分支了。html
一、克隆linux
從遠程下載代碼步驟以下:打開VS,切換到「團隊資源管理器」,點上方「主頁」右側的下拉三角,選擇項目->鏈接到團隊項目,而後選擇「克隆」,填入Git的Remote Url和要克隆到的本地目錄(該目錄必須爲空),而後點克隆按鈕便可將項目克隆到本地。git
二、本地拉取遠程的一個新分支github
只需單擊同步裏面的 提取。緩存
常見名詞解釋安全
拉取(Pull):將遠程版本庫合併到本地版本庫,至關於(Fetch+Meger)bash
獲取/提取(Fetch):從遠程版本庫得到最新版本服務器
合併(Meger):將兩個版本庫進行合併操做ssh
提交(Commit):將所作的更改,存入本地暫存庫curl
推送(Push):將所作的更改,存入遠程版本庫
同步(Pull+Push):先將遠程庫拉取,再將本地庫推送到遠程庫,至關於(Pull+Push)
變基到(Switch):切換分支(雙擊便可切換)
git pull 從遠程拉取最新版本 到本地 自動合併 merge git pull origin master。。即:git pull = git fetch + git merge
,這樣可能會產生衝突,須要手動解決。
git fetch 從遠程獲取最新版本 到本地 不會自動合併 merge git fetch origin master git log -p master ../origin/master git merge orgin/master
實際使用中 使用git fetch 更安全 在merge以前能夠看清楚 更新狀況 再決定是否合併
一、在遠程Github等服務器新建一個空Repositories,這裏起名GitTest。
打開VS2013,新建項目GitTestProject,右鍵單擊解決方案,選擇「將解決方案添加到源代碼管理器」,選擇Git
同步,推送到遠程倉庫
注:若沒有的這個選項話,也能夠用git bash去操做:
鏈接遠程倉庫,在本地的命令框中輸入下面的命令,即鏈接到了名爲poster的倉庫上
git remote add origin https://github.com/xxxx/yyy.git
把本地項目推送到遠程倉庫:
git push -u origin master
暫存想提交的文件,不想提交的右鍵暫存。提交臨時文件,拉取再推送。
有衝突時,能夠點擊衝突,而後對比文件,選擇使用遠程的代碼仍是本地代碼,而後再次提交。
把某些目錄或文件加入忽略規則,後發現並未生效,緣由是.gitignore只能忽略那些原來沒有被追蹤的文件,若是某些文件已經被歸入了版本管理中,則修改.gitignore是無效的。
那麼解決方法是先把本地緩存刪除:
git rm -r --cached .
將本地代碼從新加入
git add .
不想提交的文件,最好一開始提交 之時 就不要提交到遠程。
若是提交了一次代碼到遠程,而後發現想撤銷上次提交,即想要還原修改,轉到修改還原的代碼處,單擊方法引用處的
在右側便可點還原操做。而後單擊同步,進行同步到遠程便可
一、Git Push Error: dst refspec xxxx(分支號) matches more than one.
最近工做中遇到這樣的問題,使用的是Git作版本控制,在PUSH代碼的時候,出現以下錯誤:
初步一看,還想,怎麼可能,出現兩個相同的分支?表示很不解。
查看Git服務器上的分支也只有一個指定名稱的分支,最後無心間發現服務器上有一個和分支名稱相同的tag,按照項目組的習慣,tag通常都是以時間做爲名稱的,這裏怎麼會出現這個,好奇中刪掉它重試,果真,Git把tag和分支搞在一塊兒了,tag名稱不能和分支名稱徹底相同,不知道這是Git個別版本的bug仍是就這樣機制。
二、git中進入帶有空格的目錄下的解決辦法
好比,要進入Program Files目錄下,有兩種方法:
$ cd "Program Files"
$ cd Program" "Files
3.Git clone 錯誤 | error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
4.Permanently added the RSA host key for IP address '192.30.255.113' to the list of known hosts.
爲IP地址192.30.255.113的主機(RSA鏈接的)持久添加到hosts文件中。
5.Windows下git出現Permission denied的解決辦法
本地git bash 使用git clone git@github.com:***.git方式下載github代碼至本地時須要依賴ssh key,遇到權限不足問題時通常都是SSH key失效或者SSH key不存在,從新建立SSH key通常就能夠解決問題;
6.Github倉庫太大,公司限制速度,下載不了
能夠嘗試用 碼雲 去搜下是否有相同的庫
七、Git每次push都須要輸入用戶名和密碼
問題:
已經添加了 SSH key,可是 push 的時候,須要輸入,用戶名和密碼
緣由:
出現這種狀況的緣由是咱們使用了http的方式clone代碼到本地,相應的,也是使用http的方式將代碼push到服務器。
git clone https://github.com/xxxxx
這就容易致使這個問題的出現。而若是採用ssh方式的話,是這樣clone代碼的:
git clone git@github.com:xxxxx
解決辦法:
將http方式改成ssh方式便可。
1.先查看當前方式:git remote -v
2.把http方式改成ssh方式。先移除舊的http的origin:git remote rm origin
3.再添加新的ssh方式的origin:git remote add origin git@github.com:xxxx/linux-system-programming.git
4.改動完以後直接執行git push是沒法推送代碼的,須要設置一下上游要跟蹤的分支,與此同時會自動執行一次git push命令,此時已經不用要求輸入用戶名及密碼啦!
git push --set-upstream origin master
參考: