git常用命令

1搭建簡單git服務器

// 初始化git倉庫
git init

1.1 提交代碼三部曲

// 創建或者修改文件;調用git add指定提交的文件;調用git commit提交到本地分支
touch firstFile & git add firstFile & git commit -m "first commit"
// 如果沒有配置config,需要配置
git config --global user.email [email protected]
git config --global user.name ming.xing

1.2 本地和遠程做key映射

// 需要在客戶端執行ssh-keygen生成pubkey提供給服務器
liangemb@liangemb-OptiPlex-5040:/tmp/git/test/test$ cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHzt7THNGz3ixRvljltO7J8cKWNvj54rJ/QfL+U/vgzAvtNIhzgjxMQPWSOL1dzsTJuya7X8LL9vvu9M2dER+H/W60806+ATrBrOBfkiiMS66V6VXZzjaPaLZVGRvJeI47nJ70aHKIAC0e8uXpmKzq2x60/z19ZrSFbVdC7jZ78QndrIdj6IG+M1S7jhTXK3Qbs73r7fycWny8vma08c1CABB0gL8iH54iCBdf4FfOjSHtcoTXSGuLhtrBJXTCkn7O3B0wpUVolugQCEH2lgS8dG11f6WUn0nqDanZjzcxTY7OQHOfENoHTCW87twWFq98QV9pIU063omqRKaIdtF/ liangemb@liangemb-OptiPlex-5040
// 服務器端存放路徑
git2cast@OptiPlex:~/git/test2$ cat ~/.ssh/authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHzt7THNGz3ixRvljltO7J8cKWNvj54rJ/QfL+U/vgzAvtNIhzgjxMQPWSOL1dzsTJuya7X8LL9vvu9M2dER+H/W60806+ATrBrOBfkiiMS66V6VXZzjaPaLZVGRvJeI47nJ70aHKIAC0e8uXpmKzq2x60/z19ZrSFbVdC7jZ78QndrIdj6IG+M1S7jhTXK3Qbs73r7fycWny8vma08c1CABB0gL8iH54iCBdf4FfOjSHtcoTXSGuLhtrBJXTCkn7O3B0wpUVolugQCEH2lgS8dG11f6WUn0nqDanZjzcxTY7OQHOfENoHTCW87twWFq98QV9pIU063omqRKaIdtF/ liangemb@liangemb-OptiPlex-5040
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDk0tWBlCWd9DE0PMDYVsY8115Y84a+6IHN8V0yn4vGOx/sO7b2JMjdOh9ZZQTan8G1pczL4Zo38wGaYVueK8hRDyDrKFJYzbwy/J2ytlZK1XjXMBlRzK4JOaRR0ij8GQ1x46H/r7rFO7QqPHKlTM/jtv/YpD+2xcGdZATdV+3M3b4t2C/Y0wSoVN/QiUezJ1wO02PvnrnNnr+la+i84d3bHdcmu6RqQb68EvNvUzQjVbCQMbu8b90foNCtC+VqEu37RXqnbkJ4qVa+KpnKINZf/xXQsGnk0g2rAK7ytVdWuHqVNZNoZKZUam3AbxuyDs0YeaMpk9AtoqwP84HzEtFF selivert@selivert-OptiPlex-790
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDsN4s5qDLlk76I5D2oobDP7zntCjSkhLjYRWi6RvPP+Toide0NB8C7FYMEqyD+OrItpf8rEcgktZ7uj1O/eka74yQdTqDNUYnM0TSb/Ul35RHHGSvYQ3hd60jHJkvAgLAWadVatSktz/V4kvG2grBBaEAbbzQYMuGAtQGGOWR9qbTiJLiNJgOVU+6b8/KSnChr6w0YEYCJLgDwjldbriYfRYTvab7fYpmcluULX6NdIB9mgDVCoQBeDlb21XdM6BNGU3Rh2vy5Y46miGbJ0nRToXE4Cwwj96dL8cRHN6EuKB8nJ/1u7KksH5q5W+PVivUpPuQPwgsKeTwLNIFqjTsv onekey@OptiPlex

2客戶端操作

//服務器已經有了客戶端的key,git clone不需要再次輸入密碼
git clone [email protected]:/home/git/code/test/
//可能會存在沒有權限之類的,需要調用ssh-add,其他問題請百度
ssh-add ~/.ssh/id_rsa
//查看日誌
git log
// 查看狀態
git status

2.1代碼分支提交

// 查看遠程倉庫名稱, origin 爲遠程倉庫的別名
onekey@OptiPlex:/media/truecrypt32/svn/Cast/git/test/test$ git remote -v
origin	[email protected]:/home/git2cast/git/test (fetch)
origin	[email protected]:/home/git2cast/git/test (push)
// 本地分支和遠程分支名稱可以不一樣,如果遠程沒有相同的分支名稱,則創建一個分支,如果遠程和本地都有該 分支名稱,則提交commit的patch
git push origin [分支名稱]
// 如果遠程和本地分支名稱不相等.則提交commit日誌(已經執行過代碼提交三部曲).
git push origin [本地分支名稱] [遠程分支名稱]

2.2 代碼分支同步

// 查看分支
git branch
onekey@OptiPlex:/media/truecrypt32/svn/Cast/git/test/test$ git branch
  dev
* master
// 切換分支
git checkout dev
//在當前分支更新代碼
git pull
//查看遠程分支
git branch -r
//更新遠程分支到本地
git pull origin v5(遠程分支名)
//創建本地分支並映射到遠程分支
git checkout -b localv5 origin/v5
//名稱可以相同
git checkout -b v5 origin/v5

2.3 提交代碼合併到其他分支

// 分支A和分支B,分支A提交代碼3dbd40016550490c99bdd6df426fd060115166d5
onekey@OptiPlex:/media/truecrypt32/svn/Cast/git/test/test$ git log
commit 3dbd40016550490c99bdd6df426fd060115166d5
Author: wWX152939 <[email protected]>
Date:   Wed Jan 30 11:01:02 2019 +0800

    multi commit

commit 3033871296c71b406957f50a85408b95f9226a9b
Author: wWX152939 <[email protected]>
Date:   Wed Jan 30 10:50:36 2019 +0800

    v5 second push

commit c13af06b4611c8460013073dd4f7e00b95943859
Author: wWX152939 <[email protected]>
Date:   Wed Jan 30 10:33:06 2019 +0800

    v5 commit

commit 0ab75a6c33be68e887b4564e939863a171826be3
Author: zhiwei.wang <[email protected]>
Date:   Wed Jan 30 10:25:54 2019 +0800

    first commit
//要將3dbd40016550490c99bdd6df426fd060115166d5合併到分支B,切換到分支B,執行
git cherry-pick 3dbd40016550490c99bdd6df426fd060115166d5









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章