淺談Git常用命令

1、基本命令

1) 配置版本庫

git config--global user.name "<用戶名>"

git config--global user.email <email>

2) 克隆版本庫

git clone <版本庫名>

git clone <版本庫名> <目錄名>

3) 新建版本庫

git init #在當前目錄新建一個版本庫

git init <目錄名> #新建一個目錄,並將其初始化爲一個版本庫

4) 更新版本庫到最新版本

git pull

5) 查看工作區狀態

git status

6) 添加工作區文件到暫存區

git add <文件名> #添加工作區的文件到暫存區

git add <目錄名> #添加工作區的目錄及其子目錄到暫存區

git add . #添加工作區所有修改過的文件到暫存區

7) 提交暫存區文件到版本庫

git commit -m "註釋" #提交暫存區的文件到版本庫

git commit -a #提交工作區自上次commit之後的所有變化到版本庫

git commit –am "註釋":git add和git commit –m "註釋"的結合,確保所有變化都要提交纔可以用,只需部分提交請用git add和git commit –m "註釋"

git commit --amend -m "新註釋":使用新的一次提交替代上一次提交。若代碼沒有新變化,則用於改寫註釋

git commit --amend <文件名1> <文件名2>:重做上一次commit,幷包括指定文件的新變化

注意:git ci 是 git commit的別名

8) 推送到遠程庫

git push的一般形式爲:git push <遠程主機名> <本地分支名> <遠程分支名>。

git push origin master:若遠程分支名省略,如git push origin master,則表示將本地分支推送到與之存在追蹤關係的遠程分支(通常二者同名),若該遠程分支不存在,則會新建(對新建遠程倉庫的第一次推送,需要指定主分支名master,也可以設置-u參數);

git push origin:若當前分支和遠程分支存在追蹤關係,則本地分支和遠程分支都可以省略,如git push origin,表示將當前分支推送到origin主機的對應分支;

git push:若當前分支只有一個遠程分支,那麼主機名都可以省略,如git push,默認推送當前分支。

git push –u origin local:若當前的分支和多個主機存在追蹤關係,則可以使用-u參數指定一個默認主機,這樣後面就可以直接使用git push而不帶任何參數。

9) 查看代碼改動

git diff #查看工作區與暫存區的所有文件差異

git diff <文件名> #查看工作區與暫存區的指定文件差異

git diff --cached #查看暫存區與最後一次本地提交的文件差異

git diff HEAD #查看工作區與最後一次本地提交的文件差異

git diff origin #查看工作區與版本庫原始版本比較

10) 查看提交記錄

git log  #查看默認格式的提交記錄

git log -5 #查看最近5條提交記錄

git log -p #查看提交記錄並顯示代碼改動內容

git log -p --author=<作者名>  #查看某作者的提交記錄並顯示代碼改動內容

git log --since=<起始時間> --until=<截止時間>  #查看某段時間的提交

git log --name-only #只顯示文件名

git log --pretty=oneline #只顯示一行

git log --pretty=format:%h:%s  #自定義格式

git log --graph #圖形化查看

git log --stat #查看修改文件統計

11) 替換/撤銷操作

git checkout . #恢復暫存區的所有文件到工作區

git checkout <文件名> #恢復暫存區的指定文件到工作區

git checkout head <文件名> #用head指向的版本庫替換暫存區和工作區的文件

git reset <文件名> #將暫存區中的指定文件回退到工作區

git reset HEAD  <文件名> #將暫存區中的指定文件回退到工作區

git reset --hard #重置暫存區與工作區,與上一次commit保持一致

git co -- <文件名或目錄名> #拋棄工作區的修改,還原指定文件或文件夾爲當前版本庫中的狀態。

12) 文件操作

git rm <文件名> #刪除版本庫的文件,本地也不再使用

git rm --cached <文件名> #刪除刪除版本庫的文件,本地還需要再使用,只是該文件不再受版本控制

git mv <文件名1> <文件名2> #移動或重命名文件

13) 查看命令幫助

git help <命令名>

14) 遠程管理

git remote add me ssh://[email protected]/myGit.git #添加遠程主機名和主機地址

git remote set-url origin ssh://[email protected]/myGit.git #設置遠程主機名和主機地址

git remote –v:查看所有遠程主機

 

2、分支和合並命令

1) 創建分支

git branch dev #方法1:直接從當前分支創建dev分支

git checkout -b dev #方法2:從當前分支創建dev分支,並切換到dev分支

git co –b dev:#方法3:從當前分支創建dev分支,並切換到dev分支

git checkout -b dev master #方法4:從master分支創建dev分支,並切換到dev分支

2) 切換分支

git checkout dev #切換到dev分支

git co dev:切換到dev分支

git checkout - # 切換到上一個分支

3) 分支合併

git merge dev #合併dev分支到當前分支,使當前分支擁有dev分支的改動

git merge dev --squash #合併dev分支到當前分支,但將分支上的提交壓縮,然後手工提交變成一次提交。

git merge origin/master #合併遠程的master分支到當前分支

4) 變基分支

git rebase master #將當前分支的修改重新變基到master分支上

git rebase --on-to <new_base> <current_base> #將當前分支在<current_base>基礎上的修改變基到<new_base>分支上

5) 分支管理

git branch #查看所有的本地分支,帶*號的是當前所在分支

git branch -r #查看所有的遠程分支

git branch -a #查看所有的本地分支和遠程分支,帶*號的是當前所在分支

git branch -d dev #刪除dev分支

git branch -D dev #強制刪除dev分支

git push origin --delete rem #刪除遠程rem分支

git push origin :rem #將遠程分支rem刪除

git branch --merged #查看與當前分支合併過的分支,只要合併過的分支即使刪掉也不用擔心

git branch --no-merged #查看與當前分支沒有合併過的分支

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