git用法總結
遠端庫與本地庫之間的操作:
1、在本地新建git倉庫:
新建一個資料夾 mkdir git init 進行git倉庫初始化
新建一個文件 touch 檔名
2、在本地建一個遠端倉庫,也是同樣的操作,本地的遠端倉庫也是本地倉庫,只是相對位置不一樣,可以把它當作遠端倉庫
3、本地倉庫關聯本地遠端倉庫:
本地倉庫localTest1:D:\git_exam\localTest1
本地遠端倉庫remoteTest:D:\remoteTest
4、在localTest1本地倉庫進行使用者和郵件配置 user="test",email="[email protected]"
git config --global user.name "test"
git config --global user.email "[email protected]"
5、在localTest1中關聯遠端:git remote add origin 絕對路徑
git remote add origin ~/Temp/git_server/Test/ 不能用相對路徑,~代表相對路徑
git remote add origin /d/remoteTest
6、可以檢視遠端
git remote
7、檢視遠端倉庫地址 git remote -v
8、檢視配置 git config --list
9、刪除遠端倉庫:git remote rm origin (提示遠端倉庫已經存在時)
10、關於分支的一些操作
git checkout -b dev 建立dev分支並切換到該分支
git checkout dev 切換到dev分支
git branch 檢視當前分支
git branch -a 檢視所有分支
git branch dev 建立dev分支
在當前分支dev合併master分支,把master分支的修改同步到dev分支上:git merge master
檢視當前分支的日誌:git log
分支合併圖:git log --graph
11、撤銷某次提交:git reset
12、檢視當前目錄: pwd
13、刪除的一些git操作
刪除資料夾:git rm -rf 資料夾名
刪除遠端dev分支:git push origin --delete dev
刪除file資料夾及其下所有的檔案:git rm file -r -f
刪除檔案:git rm 檔名 rm index.html
14、echo用法:
echo hello world!:直接輸出列印hello world!
echo hello world! > demo.txt //會將hello world!內容重定向列印到demo.txt中
echo hello Fauss! > demo.txt //hello Fauss! 會將demo.txt中的hello world!覆蓋掉
echo hello Fauss! >> demo.txt //hello Fauss!只會追加到demo.txt中的hello world!的後面
15、新增標籤:git tag v1.1.1
16、檢視檔案內容:cat index
17、建立新檔案:cat >filename.txt <<EOF
de>[[email protected] ~]# cat > linuxsir.txt << EOF 注:建立linuxsir.org.txt檔案;
> 我來測試 cat 建立檔案,並且為檔案輸入內容; 注:這是為linuxsir.org.txt檔案輸入內容;
> 北南南北 測試; 注:這是為linuxsir.org.txt檔案輸入內容;
> EOF 注:退出編輯狀態;
18、cat 還有向已存在的檔案追加內容的功能;
de>[[email protected] ~]# cat linuxsir.txt 注:檢視已存在的檔案linuxsir.txt 內容;
I am BeiNanNanBei From LinuxSir.Org . 注:內容行
我正在為cat命令寫文件
[[email protected] ~]# cat >> linuxsir.txt << EOF 注:我們向linuxsir.txt檔案追加內容;
> 我來測試cat向文件追加內容的功能; 注:這是追回的內容
> OK?
> OK~
> 北南 呈上
> EOF 注:以EOF退出;
19、新建bug分支
git checkout -b issue-101
git add readme.txt
git commit -m "fix bug 101"
git checkout master
git merge --no-ff -m "merged bug fix 101" issue-101
20、新建feature分支:
git checkout -b feature
git add vulcan.py
git status
git commit -m "add feature vulcan"
git checkout dev
git merge --no-ff -m "merged feature" feature
21、從遠端克隆一份到本地可以通過git clone
Git支援HTTPS和SSH協議,SSH速度更快
git clone [email protected]:/home/git/changyuan/activityTicket.git
git clone [email protected]:nanfei9330/xx.git
22、本地庫關聯遠端庫,在本地倉庫目錄執行命令:
git remote add origin [email protected]:nanfei9330/learngit.git
23、推送master分支的所有內容
git push -u origin master
第一次使用加上了-u引數,是推送內容並關聯分支。
推送成功後就可以看到遠端和本地的內容一模一樣,下次只要本地作了提交,就可以通過命令:
git push origin master
24、推送本地分支到遠端分支,遠端分支是本地分支名
git push origin 本地分支名(dev_wll):本地分支名(dev_wll)(把本地分支提交到遠端分支上,當作遠端的dev_wll分支)如果報錯,執行一下
git push origin master,會出現everything up-to-date,然後在執行之前的那句話就好了
git push origin test:master // 提交本地test分支作為遠端的master分支
git push origin test:test // 提交本地test分支作為遠端的test分支
25、拉取遠端分支
git pull:相當於是從遠端獲取最新版本並merge到本地
git pull origin master
要想把遠端的master分支拉下來與本地的dev_wll分支合併,必須先拉下來
git fetch origin master
git merge dev_wll
26、檢視遠端分支狀態
git log origin/dev_wbj
git中修改檔案內容的退出,是ESC,其他的退出是ctrl+c
27、有時候git merge 和git pull origin dev_wbj:dev_wll不起作用,但是也不報錯,直接用git pull origin dev_wbj,直接合並
28、有時候會遇到這樣一個問題:test分支最新的版本是11月29號的,develop分支最新的版本是10月27號,test分支上到10月27號11月3號之間提交的程式碼,都已正式上線,但是develop分支的程式碼還未有完整的線上程式碼。可以使用git的複製命令,git cherry-pick commitId,將test分支上10月27-11月3的程式碼複製到develop分支上。
如果複製過程中有衝突,可以放棄複製,git cherry-pick --abort。同樣的可以得到merge不同分支的時候如果有衝突,放棄合併 git merge --abort
29、版本回退
git reset --hard commitId 直接回退到某個提交版本
git reset --hard HEAD~0 0表示回退到當前提交版本,1表示回退到上一個版本,數字從0開始