git常用命令


一、Git版本控制

SVN:集中式版本控制

Git:分布式版本控制

git官網:https://git-scm.com

git淘寶鏡像地址:http://npm.taobao.org/mirrors/git-for-windows

工作流程:工作區 ---> 暫存區 ---> 本地倉庫 ---> 遠程倉庫

二、Git環境配置

1 #查看[全局]配置:
2 git config [--global] --list
1 #設置提交代碼時的用戶名和郵箱:
2 git config [--global] user.name "[name]"
3 git config [--global] user.email "[email address]"
1 #重置用戶名和密碼
2 git config --replace-all user.name "[name]"
3 git config --replace-all user.email "[email address]"

三、Git常用命令

1、初始化

1 #在當前目錄新建一個Git代碼庫
2 git init
3 
4 #下載一個項目和它的整個代碼史
5 git clone [url]

2、增加/刪除文件

#添加指定文件到暫存區
git add [file1] [file2] ...

#添加指定目錄到暫存區,包括子目錄
git add [dir]

#添加當前目錄的所有文件到暫存區
git add .
---------------------------------------------
#刪除工作區文件,並將這次刪除放入暫存區
git rm [file1] [file2] ...

3、代碼提交

1 #提交暫存區到倉庫區
2 git commit -m "[message]"
3 
4 #提交暫存區的指定文件到倉庫區
5 git commit [file1] [file2] ... -m "[message]"

4、分支

 1 #查看本地所有分支
 2 git branch
 3 
 4 #查看遠程所有分支
 5 git branch -r
 6 
 7 #查看所有分支(本地分支和遠程分支)
 8 git branch -a
 9 
10 #查看每一個分支的最后一次提交
11 git branch -v
12 
13 #新建一個分支(但仍然留在當前分支)
14 git branch [branch-name]
15 
16 #切換到指定分支
17 git checkout [branch-name]
18 
19 #新建一個分支並切換到該分支(組合用法)
20 git checkout -b [branch-name]
21 
22 #拉取遠程分支並在本地創建分支(注:遠程分支前加origin)
23 git checkout -b [local_branch] origin/[remote_branch]
24 
25 #建立本地倉庫(dev)和遠程倉庫(dev)的鏈接,這樣代碼才能提交上去
26 git branch --set-upstream-to=origin/dev
27 #取消對master的跟蹤
28 git branch --unset-upstream master
29 
30 #合並指定分支(branch-name)到當前分支(一般在master上操作)
31 git merge [branch-name]
32 
33 #刪除本地分支
34 git branch -d [branch-name]
35 
36 #刪除遠程分支(寫法一),危險操作
37 git branch -r -d [遠程倉庫別名/遠程分支名]
38 #刪除遠程分支(寫法二)
39 git push origin --delete [branch-name]
40 #刪除遠程分支(寫法二簡寫)
41 git push origin :[remote_branch]
42 
43 #重命名分支:如果newbranch名字已經存在,則需要使用-M強制重命名,否則,使用-m進行重命名
44 git branch -m|-M [oldbranch-name] [newbranch-name]

5、查看信息

 1 #查看所有文件狀態
 2 git status
 3 
 4 #查看指定文件狀態
 5 git status [filename]

6、遠程同步

 1 #下載遠程倉庫的所有變動
 2 git fetch <遠程倉庫別名>
 3 
 4 #顯示所有遠程倉庫
 5 git remote -v
 6 
 7 #本地倉庫添加一個新的遠程倉庫,並命名
 8 git remote add [遠程倉庫別名:默認origin] [遠程倉庫地址url]
 9 
10 #下載一個項目和它的整個代碼史(不用初始化倉庫)
11 git clone [url]
12 
13 #拉取遠程倉庫的變化,並與本地分支合並(建立鏈接)
14 git pull <遠程倉庫別名> [遠程分支名]:[本地分支名]
15 #簡寫:(遠程分支名和本地分支名相同)
16 git pull <遠程倉庫別名> [分支名]
17 
18 #推送到遠程倉庫(branch-name:本地分支名)
19 git push -u <遠程倉庫別名> [branch-name]
20 #遠程已有分支,但未關聯本地分支(本地已切換到同名分支)
21 git push -u origin/remote_branch
22 
23 #創建遠程分支&推送本地分支到遠程分支
24 #1、會創建遠程分支
25 #2、遠程分支與本地分支名字相同
26 git push <遠程倉庫別名> [遠程分支名]
27 
28 #強行推送當前分支到遠程倉庫,即使有沖突
29 git push <遠程倉庫別名> --force
30 
31 #推送所有分支到遠程倉庫
32 git push <遠程倉庫別名> --all

四、Git實戰

一、暫存區提交與撤銷

1、比較工作區和倉庫的不同

修改文件后直接commit(只在工作區修改,沒有commit到git倉庫)

1 執行
2 git diff HEAD -- [文件名]
3 比較工作區和倉庫的不同

1 差異比較說明:
2 '---':表示變動前的文件
3 '+++':表示變動后的文件
4 變動的位置用兩個@符號作為開始和結束
5 '-0,0':減號表示第一個文件,第一個0表示第0行,第二個0表示連續0行;
6 '+1,2':加號表示第二個文件,第一個1表示第1行,第二個2表示連續2行;

2、暫存區刪除文件

git reset HEAD [文件名]

二、版本回退

1、查看日志

git log

2、回到上一個版本

1 git reset --hard HEAD^

3、回到上兩個版本

1 git reset --hard HEAD^^

4、回到指定版本

1 git reset --hard HEAD~3
2 #回到3個版本前

5、查看所有版本信息

git reflog

6、回到指定版本

1 git reset --hard [唯一id]

7、查看簡潔版本信息

git log --pretty=oneline

三、版本刪除

1、取消刪除

工作區刪除文件,取消刪除(git倉庫沒有刪除)

1 git restore [工作區刪除的文件名]

2、從版本庫拉回

1 git checkout [工作區刪除的文件名]

3、從版本庫刪除

1 git rm [版本庫中要刪除的文件名]

四、遠程倉庫

1、查看本地倉庫提交的內容

1 git ls-files

2、添加遠程倉庫

1 git remote add [遠程倉庫別名:默認origin] [遠程倉庫地址url]
2 #eg:git remote add origin https://github.com/...

3、推送到遠程倉庫

1 git push -u origin master

4、使用SSH地址

  • 生成密鑰

    ssh-keygen -t rsa -C "github/gitee賬戶郵箱"
  • 密鑰地址:

    1 /c/Usres/Administrator/.ssh/id_rsa
  • 在github或者gitee設置中找到SSH設置 ---> 新建SSH,添加公鑰(不要加密鑰)

  • 其他同https

五、本地分支操作

1、查看所有分支

1 git branch

2、新建分支並切換

1 git checkout -b [new_branch-name]

3、刪除指定分支

1 git branch -d [branch-name]

4、切換指定分支

git checkout [branch-name]

5、合並分支

合並指定分支到當前分支(當前分支為master,此操作在master分支上進行),禁止合並主分支到其他分支

1 git merge [branch]

6、重命名分支

如果newbranch名字已經存在,則需要使用-M強制重命名,否則,使用-m進行重命名

1 git branch -m|-M [oldbranch] [newbranch]

六、遠程分支操作

1、查看遠程所有分支

1 git branch -r

2、查看本地和遠程所有分支

1 git branch -a

3、創建遠程分支&推送本地分支到遠程分支

1 git push origin [branch-name]
2 #1、會創建遠程分支
3 #2、遠程分支與本地分支名字相同

4、刪除遠程分支(本地分支還保留)

危險操作

注:注意冒號

1 git push origin :[remote_branch]

5、拉取遠程分支並在本地創建分支

注:遠程分支前加origin

1 git checkout -b [local_branch] origin/[remote_branch]

七、本地分支沖突解決

1、本地分支修改文件

2、切換分支

1 git checkout master

3、本地master分支修改文件

4、主分支進行合並

1 git merge dev1

5、沖突解決方法

根據業務進行手動解決

解決沖突后重新add,commit

6、查看分支合並圖

1 git log --graph --pretty=oneline

八、多人沖突解決

1、先拉取

1 git pull

2、解決沖突

3、重新add,commit,push


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM