git clone一個項目php
jiqing@jiqing-System-Product-Name:/home/wwwroot/default$ sudo git clone http://106.14.59.204/jiqing/testGit.git 正克隆到 'testGit'... Username for 'http://106.14.59.204': jiqing@caomall.net Password for 'http://jiqing@caomall.net@106.14.59.204': warning: 您彷佛克隆了一個空倉庫。 檢查鏈接... 完成。
git status 查看狀態html
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git status 位於分支 master 初始提交 未跟蹤的文件: (使用 "git add <文件>..." 以包含要提交的內容) 1 提交爲空,可是存在還沒有跟蹤的文件(使用 "git add" 創建跟蹤)
git add 添加文件git
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git add ./1
git config/git commit 提交ubuntu
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git config --global user.email "jiqing@caomall.net" jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git config --global user.name "jiqing"jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git commit -m "1" [master (根提交) eb3b1d1] 1 1 file changed, 1 insertion(+) create mode 100755 1
git push 推送到分支中ide
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin master Username for 'http://106.14.59.204': jiqing@caomall.net Password for 'http://jiqing@caomall.net@106.14.59.204': Counting objects: 3, done. Writing objects: 100% (3/3), 196 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To http://106.14.59.204/jiqing/testGit.git * [new branch] master -> master 分支 master 設置爲跟蹤來自 origin 的遠程分支 master。
同時添加多個文件svn
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git add ./ jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git commit -m "2,3" [master 5ba06bf] 2,3 2 files changed, 2 insertions(+) create mode 100644 2 create mode 100644 3 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin master Username for 'http://106.14.59.204': jiqing@caomall.net Password for 'http://jiqing@caomall.net@106.14.59.204': Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (4/4), 296 bytes | 0 bytes/s, done. Total 4 (delta 0), reused 0 (delta 0) To http://106.14.59.204/jiqing/testGit.git eb3b1d1..5ba06bf master -> master 分支 master 設置爲跟蹤來自 origin 的遠程分支 master。
建立分支,切換分支fetch
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git branch dev jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git checkout dev 切換到分支 'dev' jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git status 位於分支 dev 無文件要提交,乾淨的工做區
git push origin dev將分支推送到遠端.net
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push origin dev Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': Total 0 (delta 0), reused 0 (delta 0) remote: remote: To create a merge request for dev, visit: remote: http://106.14.59.204/jiqing/testGit/merge_requests/new?merge_request%5Bsource_branch%5D=dev remote: To http://106.14.59.204/jiqing/testGit.git * [new branch] dev -> dev
在分支中添加代碼3d
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git add ./4 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git commit -m "4" [dev b735b44] 4 1 file changed, 1 insertion(+) create mode 100644 4 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git status 位於分支 dev 無文件要提交,乾淨的工做區 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin dev Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': Counting objects: 4, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 251 bytes | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: remote: To create a merge request for dev, visit: remote: http://106.14.59.204/jiqing/testGit/merge_requests/new?merge_request%5Bsource_branch%5D=dev remote: To http://106.14.59.204/jiqing/testGit.git 5ba06bf..b735b44 dev -> dev 分支 dev 設置爲跟蹤來自 origin 的遠程分支 dev。
這個時候dev上有4這個文件,而master上面沒有。code
刪除本地分支
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git checkout dev 切換到分支 'dev' 您的分支與上游分支 'origin/dev' 一致。 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git branch -D devJi 已刪除分支 devJi(曾爲 b735b44)。
刪除線上分支
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push origin --delete devJi Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': To http://106.14.59.204/jiqing/testGit.git - [deleted] devJi
從分支上合併代碼
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git checkout master 切換到分支 'master' 您的分支與上游分支 'origin/master' 一致。 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git merge devyuan 更新 5ba06bf..269885a Fast-forward 5 | 1 + 1 file changed, 1 insertion(+) create mode 100644 5 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ ll 總用量 28 drwxrwxrwx 3 root root 4096 4月 3 19:23 ./ drwxr-xr-x 7 www www 4096 4月 3 16:57 ../ -rwxrwxrwx 1 root root 20 4月 3 15:53 1* -rw-rw-r-- 1 jiqing jiqing 14 4月 3 15:59 2 -rw-rw-r-- 1 jiqing jiqing 20 4月 3 16:07 3 -rw-rw-r-- 1 jiqing jiqing 7 4月 3 19:23 5 drwxrwxrwx 8 root root 4096 4月 3 19:23 .git/ jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin master Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': Total 0 (delta 0), reused 0 (delta 0) To http://106.14.59.204/jiqing/testGit.git 5ba06bf..269885a master -> master 分支 master 設置爲跟蹤來自 origin 的遠程分支 master。
強制更新和強制推送
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git pull origin master:devji Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': 來自 http://106.14.59.204/jiqing/testGit ! [已拒絕] master -> devji (非快進式) jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ ll 總用量 28 drwxrwxrwx 3 root root 4096 4月 3 19:26 ./ drwxr-xr-x 7 www www 4096 4月 3 16:57 ../ -rwxrwxrwx 1 root root 20 4月 3 15:53 1* -rw-rw-r-- 1 jiqing jiqing 14 4月 3 15:59 2 -rw-rw-r-- 1 jiqing jiqing 20 4月 3 16:07 3 -rw-rw-r-- 1 jiqing jiqing 37 4月 3 19:26 4 drwxrwxrwx 8 root root 4096 4月 3 19:32 .git/ jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git pull origin master:devji -f Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': 來自 http://106.14.59.204/jiqing/testGit + b735b44...269885a master -> devji (強制更新) 警告:fetch 更新了當前的分支。您的工做區 警告:從原提交 b735b444332bede7e6dcc828ab5dd7e3dd3029e4 快進。 Already up-to-date. jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ ll 總用量 28 drwxrwxrwx 3 root root 4096 4月 3 19:33 ./ drwxr-xr-x 7 www www 4096 4月 3 16:57 ../ -rwxrwxrwx 1 root root 20 4月 3 15:53 1* -rw-rw-r-- 1 jiqing jiqing 14 4月 3 15:59 2 -rw-rw-r-- 1 jiqing jiqing 20 4月 3 16:07 3 -rw-rw-r-- 1 jiqing jiqing 7 4月 3 19:33 5 drwxrwxrwx 8 root root 4096 4月 3 19:33 .git/ jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin devji Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': To http://106.14.59.204/jiqing/testGit.git ! [rejected] devji -> devji (non-fast-forward) error: 沒法推送一些引用到 'http://106.14.59.204/jiqing/testGit.git' 提示:更新被拒絕,由於您當前分支的最新提交落後於其對應的遠程分支。 提示:再次推送前,先與遠程變動合併(如 'git pull ...')。詳見 提示:'git push --help' 中的 'Note about fast-forwards' 小節。 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin devji -f Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': Total 0 (delta 0), reused 0 (delta 0) remote: remote: To create a merge request for devji, visit: remote: http://106.14.59.204/jiqing/testGit/merge_requests/new?merge_request%5Bsource_branch%5D=devji remote: To http://106.14.59.204/jiqing/testGit.git + b735b44...269885a devji -> devji (forced update) 分支 devji 設置爲跟蹤來自 origin 的遠程分支 devji。
若是兩我的同時操做一個分支,這個就有點像svn了。先拉取,再提交。
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/test/testGit$ git add ./6 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/test/testGit$ git commit -m "6 from test/testGit" [dev ae59a51] 6 from test/testGit 1 file changed, 1 insertion(+) create mode 100644 6 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/test/testGit$ git push -u origin dev Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 265 bytes | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: remote: To create a merge request for dev, visit: remote: http://106.14.59.204/jiqing/testGit/merge_requests/new?merge_request%5Bsource_branch%5D=dev remote: To http://106.14.59.204/jiqing/testGit.git b735b44..ae59a51 dev -> dev 分支 dev 設置爲跟蹤來自 origin 的遠程分支 dev。
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git pull origin dev Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': remote: Counting objects: 3, done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 1), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. 來自 http://106.14.59.204/jiqing/testGit * branch dev -> FETCH_HEAD b735b44..ae59a51 dev -> origin/dev 更新 b735b44..ae59a51 Fast-forward 6 | 1 + 1 file changed, 1 insertion(+) create mode 100644 6 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ ll 總用量 32 drwxrwxrwx 3 root root 4096 4月 4 09:15 ./ drwxr-xr-x 7 www www 4096 4月 3 16:57 ../ -rwxrwxrwx 1 root root 20 4月 3 15:53 1* -rw-rw-r-- 1 jiqing jiqing 14 4月 3 15:59 2 -rw-rw-r-- 1 jiqing jiqing 20 4月 3 16:07 3 -rw-rw-r-- 1 jiqing jiqing 37 4月 4 09:10 4 -rw-rw-r-- 1 jiqing jiqing 49 4月 4 09:15 6 drwxrwxrwx 8 root root 4096 4月 4 09:15 .git/ jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git status 位於分支 dev 您的分支與上游分支 'origin/dev' 一致。 無文件要提交,乾淨的工做區
比較本地與線上的差異
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git fetch origin Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': remote: Counting objects: 3, done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 1), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. 來自 http://106.14.59.204/jiqing/testGit 25016f9..03dcb0d dev -> origin/dev jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git diff dev origin/dev diff --git a/8 b/8 new file mode 100644 index 0000000..901184c --- /dev/null +++ b/8 @@ -0,0 +1 @@ +88888888
git stash ,git stash pop
jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git stash Saved working directory and index state WIP on siemens: ba1cc89 修改 HEAD 如今位於 ba1cc89 修改 jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git pull origin siemens Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': 來自 http://106.14.59.204/daijiawei/new_hotel * branch siemens -> FETCH_HEAD Already up-to-date. jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git stash pop 位於分支 siemens 您的分支與上游分支 'origin/siemens' 一致。 還沒有暫存以備提交的變動: (使用 "git add <文件>..." 更新要提交的內容) (使用 "git checkout -- <文件>..." 丟棄工做區的改動) 修改: Index/Lib/Action/SiemensAction.class.php 未跟蹤的文件: (使用 "git add <文件>..." 以包含要提交的內容) Index/Tpl/Siemens/share.html 修改還沒有加入提交(使用 "git add" 和/或 "git commit -a") 丟棄了 refs/stash@{0} (5841615b40ac0332cf4dc3c3a3499e58a57c73ad) jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git add ./* jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git commit -m "提交分享頁面" [siemens 0b3a6db] 提交分享頁面 2 files changed, 15 insertions(+) create mode 100644 Index/Tpl/Siemens/share.html jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git push origin siemens Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': Counting objects: 21, done. Delta compression using up to 4 threads. Compressing objects: 100% (8/8), done. Writing objects: 100% (9/9), 821 bytes | 0 bytes/s, done. Total 9 (delta 4), reused 0 (delta 0) remote: Checking connectivity: 9, done. remote: remote: To create a merge request for siemens, visit: remote: http://106.14.59.204/daijiawei/new_hotel/merge_requests/new?merge_request%5Bsource_branch%5D=siemens remote: To http://106.14.59.204/daijiawei/new_hotel.git ba1cc89..0b3a6db siemens -> siemens
查看線上和本地全部分支git branch -a
jiqing@ubuntu:/home/wwwroot/default/5hao/lion$ git branch -a * 5hao master remotes/origin/5hao remotes/origin/HEAD -> origin/master remotes/origin/develop remotes/origin/giftcard remotes/origin/master remotes/origin/ssy jiqing@ubuntu:/home/wwwroot/default/5hao/lion$ git branch * 5hao master
切換分支,從分支上拉數據
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git status 位於分支 5hao 無文件要提交,乾淨的工做區 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git branch * 5hao master jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git checkout -b 5hao fatal: 一個分支名 '5hao' 已經存在。 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git pull origin 5hao Username for 'http://106.14.59.204': jiqing Password for 'http://jiqing@106.14.59.204': 來自 http://106.14.59.204/kala/mouse * branch 5hao -> FETCH_HEAD Already up-to-date.
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git checkout master 切換到分支 'master' 您的分支與上游分支 'origin/master' 一致。 jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git checkout 5hao 切換到分支 '5hao'
分支未合併完成處理
[root@iZuf6bmpnhekewcpbaogo9Z new_hotel]# git pull origin siemens 您還沒有結束您的合併(存在 MERGE_HEAD)。 請在合併前先提交您的修改。 [root@iZuf6bmpnhekewcpbaogo9Z new_hotel]# rm -rf .git/MERGE* [root@iZuf6bmpnhekewcpbaogo9Z new_hotel]# git pull origin siemens 來自 http://106.14.59.204/daijiawei/new_hotel * branch siemens -> FETCH_HEAD Merge made by the 'recursive' strategy. Index/Lib/Action/GetDataAction.class.php | 2 ++ 1 file changed, 2 insertions(+)