首先配置自已的git
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
常用命令
git commit --amend 撤銷最近一次的修改
git fetch [remote-name] 從遠(yuǎn)程倉(cāng)庫(kù)中抓取數(shù)據(jù)
git push [remote-name] [branch-name] 將數(shù)據(jù)推送到遠(yuǎn)程的某個(gè)分支
git remote add [shortname] [url] //遠(yuǎn)程添加一個(gè)分支
git remote show [remote-name]
git tag -a v1.4 -m 'my version 1.4' 打標(biāo)簽
git show v1.4 顯示v1.4這個(gè)標(biāo)簽的xinx
git tag 查看已經(jīng)打了哪些標(biāo)簽
git reset HEAD -- file
建立新的分支
git branch pan //新建分支pan
git checkout pan //切到pan分支 此時(shí)HEAD指向的是pan master指向的是建立分支之前的commit指針
git checkout -b pan //新建并切換到分支pan
git merge pan
git branch -d pan //當(dāng)某個(gè)分支問題解決了以后引颈,就可以刪除這個(gè)分支了
git merge master //在某個(gè)分支上將master中的內(nèi)容合并過來
git branch --merged//查看已經(jīng)合并的分支
git branch --no-merged //查看沒有合并的分支
git mergetool//調(diào)用解決合并沖突的工具
git fetch origin //來同步遠(yuǎn)程服務(wù)器上的數(shù)據(jù)到本地
git push (遠(yuǎn)程倉(cāng)庫(kù)名) (分支名) //推送本地分支,這個(gè)是推送到遠(yuǎn)程的同名分支
git push origin serverfix:awesomebranc//推送到遠(yuǎn)程的其他的分支
建立新的分支
git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>
## example
git push origin payne:payne //如果遠(yuǎn)程分支名不存在狠轻,則創(chuàng)建分支
git pull <遠(yuǎn)程主機(jī)名> <遠(yuǎn)程分支名>:<本地分支名>
## example
git pull origin next:master //取回origin主機(jī)的next分支,與本地的master分支合并
刪除遠(yuǎn)程分支develop:
git push origin --delete develop
git branch -a 查看所有的分支,包括本地和遠(yuǎn)程的
git branch -r 查看遠(yuǎn)程分支
git fetch origin dev-pan取回遠(yuǎn)程的某個(gè)分支坡脐,所取回的更新,在本地主機(jī)上要用"遠(yuǎn)程主機(jī)名/分支名"的形式讀取恬砂。比如origin主機(jī)的master,就要用origin/master讀取狱掂。
git merge origin/dev-pan 在某個(gè)分支上把剛才取回的運(yùn)程分支合并到現(xiàn)在的某個(gè)分支
建立裸倉(cāng),兩種方法
將本地的導(dǎo)出為裸倉(cāng)
git clone --bare my_project my_project.git //my_project這個(gè)倉(cāng)已經(jīng)存在了
scp -r my_project.git user@git.example.com:/opt/git //將裸倉(cāng)移到服務(wù)器上
git init --bare --shared //如果對(duì)服務(wù)器上裸倉(cāng)沒有權(quán)限 此命令用于獲得權(quán)限
git clone root@120.24.72.202:/home/my_project/my_project.git //將裸倉(cāng)中的內(nèi)容復(fù)制出來
直接建立裸倉(cāng)(里面無(wú)內(nèi)容)
cd /opt/git
$ mkdir project.git
$ cd project.git
$ git --bare init
$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@gitserver:/opt/git/project.git
$ git push origin master
其他人的克隆和推送也一樣變得很簡(jiǎn)單:
$ git clone git@gitserver:/opt/git/project.git
$ vim README
$ git commit -am 'fix for the README file'
$ git push origin master