寫代碼最常遇到的情況是本地已經(jīng)創(chuàng)建好了一個項目,如何提交到遠(yuǎn)程倉庫糟把,接下來就請跟著我左手右手一個慢動作虾啦。感謝廖雪峰的Git教程
一、安裝
1. 在Linux上安裝
sudo apt-get install git
2. 在Mac OS X上安裝
- (推薦)直接從AppStore安裝Xcode献酗,運行Xcode,選擇菜單“Xcode”->“Preferences”坷牛,在彈出窗口中找到“Downloads”罕偎,選擇“Command Line Tools”,點“Install”就可以完成安裝了
- 安裝homebrew京闰,然后通過homebrew安裝Git颜及,具體方法請參考homebrew的文檔:http://brew.sh/
3. 在Windows上安裝Git
可以從Git官網(wǎng)直接下載安裝程序
安裝完成后,還需要最后一步設(shè)置蹂楣,在命令行輸入:
$ git config --global user.name "Name"
$ git config --global user.email "email@example.com"
表示你這臺機器上所有的Git倉庫都會使用這個配置
如果安裝了Cmder這種Windows命令行神器俏站,自帶Git,可以省略安裝的步驟
二痊土、本地提交
1.創(chuàng)建本地倉庫
在項目的根目錄輸入
$ git init
2.添加文件和提交
//添加文件
git add 1.txt
git add 2.txt 3.txt
//添加該目錄下所有文件
git add .
//提交
git commit -m <message>
其他操作比如版本回退肄扎、撤銷和刪除操作本文省略,可參考本文開頭的教程
3.添加并上傳遠(yuǎn)程庫
- 在遠(yuǎn)程倉庫中創(chuàng)建一個倉庫(省略操作步驟),注意:
readme.md
文件最好先別選 - 添加遠(yuǎn)程倉庫
$ git remote add <remote> <gitRepository.git>
<remote>
:遠(yuǎn)程倉庫名稱犯祠,自己命名旭等,git默認(rèn)的名字是origin
<gitRepository.git>
:遠(yuǎn)程倉庫地址,.git結(jié)尾
- 上傳到遠(yuǎn)程倉庫
git push -u <remote> <master>
<remote>
:上一步自己定義的遠(yuǎn)程倉庫名稱
<master>
:當(dāng)前分支衡载,新建本地倉庫時默認(rèn)為master
-u
:Git不但會把本地的master分支內(nèi)容推送的遠(yuǎn)程新的master分支搔耕,還會把本地的master分支和遠(yuǎn)程的master分支關(guān)聯(lián)起來,在以后的推送或者拉取時就可以簡化命令
最后輸入遠(yuǎn)程倉庫的賬號名和密碼就可以提交了
4.補充
- 不想每次輸入賬號和密碼怎么辦痰娱?我們來配置SSH 密鑰
SSH 密鑰默認(rèn)儲存在賬戶的主目錄下的~/.ssh
目錄,Windows則在C:\Users\Administrator\.ssh
目錄
首先先確認(rèn)一下是否已經(jīng)有一對密鑰弃榨,<something>
和<something>.pub
,有.pub
后綴的文件就是公鑰梨睁,另一個文件則是密鑰惭墓,如果沒有就先新建。
在.ssh
目錄打開gitbash而姐,輸入
$ ssh-keygen
連續(xù)回車,直到創(chuàng)建完成
復(fù)制 .pub
文件的內(nèi)容配置到遠(yuǎn)程倉庫的設(shè)置-SSH公鑰
划咐。公鑰的樣子大致如下:
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@agadorlaptop.local
- 首次提交失敗拴念,提示
Push rejected: Push to origin/master was rejected
先和遠(yuǎn)程倉庫合并
git pull <remote> <master>
- 合并文件的時候提示
fatal: refusing to merge unrelated histories
因為他們是兩個不同的項目,要把兩個不同的項目合并褐缠,需要添加選項--allow-unrelated-histories
政鼠,所以要輸入
git pull --allow-unrelated-histories <origin> <master>
合并后再上傳到遠(yuǎn)程倉庫