日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git 怎么备份本地分支_Git常用个人备份笔记

發(fā)布時(shí)間:2024/10/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git 怎么备份本地分支_Git常用个人备份笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、新建代碼庫

1、在當(dāng)前目錄下創(chuàng)建一個(gè)Git代碼庫

git init

創(chuàng)建的.git默認(rèn)是隱藏的,使用命令ls -ah顯示出來。

2、新建一個(gè)目錄,并初始化為Git的代碼庫

git init [dir-name]

3、克隆一個(gè)項(xiàng)目包括其提交歷史

git clone [url] [local-dir-name]

二、配置

1、顯示當(dāng)前Git配置

git config --list

2、設(shè)置提交的時(shí)候的用戶信息

git config [--global] user.name "username"

git config [--global] user.email "email address"

三、增加刪除文件

1、添加指定文件到暫存區(qū)

git add [file1] [file2] ···

2、添加指定目錄到暫存區(qū),包括子目錄

git add [dir name]

3、將當(dāng)前目錄下的所有文件到暫存區(qū)(包括當(dāng)前目錄下的已經(jīng)修改的文件夾)

git add .

4、刪除工作區(qū)文件,并且將這次刪除放入到暫存區(qū)

git rm [file1] [file2]

從版本庫中找回rm的文件

git checkout --[file]

5、停止追蹤指定文件,但該文件會(huì)保留到工作區(qū),文件內(nèi)容不變。

git rm --cached [file]

四、代碼提交

1、提交暫存區(qū)到版本庫

git commit -m [message]

2、提交暫存區(qū)的指定文件到倉庫

git commit [file1][file2]··· -m [message]

3、提交工作區(qū)自上次commit之后的變化,直接到倉庫區(qū)

git commit -a

4、提交時(shí)顯示所有的diff信息

git commit -v

5、使用一次新的commit,代替上一次提交;如果代碼沒有變化,就用來改寫上一次的commit提交信息。commit的SHA1會(huì)發(fā)生改變,上一次的提交的內(nèi)容不會(huì)發(fā)生改變。

git commit --amend -m [meesage]

6、重做上一次的commit,并包括指定文件的新變化(此時(shí)不需要講file1和file2添加到暫存區(qū))

git commit --amend [file1] [file2]

五、分支

1、列出所有的分支

git branch

2、列出所有的遠(yuǎn)程分支

git branch -r

3、新建一個(gè)新的分支,但還是停留在當(dāng)前的分支。工作區(qū)會(huì)復(fù)用,即在master上面修改的內(nèi)容還沒有提交,那么如果新建了一個(gè)分支,并切換過去,master的未提交的內(nèi)容也會(huì)跟著帶到新的分支。

git branch [branch-name]

4、新建一個(gè)分支,并切換到該分支

git checkout -b [branch-name]

5、新建一個(gè)分支,并指定指向的commit,此時(shí)如果工作區(qū)不干凈,切換可能會(huì)出現(xiàn)失敗,需要使用git stash 將當(dāng)前工作區(qū)的修改給隱藏掉。

git branch [branch-name] [commit id]

6、切換到上一個(gè)分支

git branch -

7、在當(dāng)前的分支和指定的遠(yuǎn)程分支之間建立追蹤關(guān)系

git branch --set-upstream [branch] [remote-branch]

8、合并指定分支到當(dāng)前分支

git merge [branch]

9、刪除分支

git branch -d [branch-name]

10、刪除一個(gè)沒有被合并過的分支需要使用-D參數(shù):

git branch -D [branch-name]

11、刪除遠(yuǎn)程分支

git push [origin-name] --d [branch-name]

12、新建一個(gè)分支,指向某個(gè)tag

git checkout -b [branch] [tag]

13、顯示分支圖

git log --graph

14、修改分支名稱

git banch -m [old-name] [new-name]

15、合并多次commit

git rebase -i [commit]

上面的命令表示的是head分支到commit上一個(gè)commit的合并,注意不包括該commit。

在彈出的Vim編輯頁面輸入命令:

Commands:

# p, pick = use commit

# r, reword = use commit, but edit the commit message

# s, squash = use commit, but meld into previous commit

# f, fixup = like "squash", but discard this commit's log message

# x, exec = run command (the rest of the line) using shell

# d, drop = remove commit

# l, label = label current HEAD with a name

# t, reset = reset HEAD to a label

# m, merge [-C | -c ] [# ]

然后wq保存,再彈出一個(gè)Vim編輯框,修改commit信息。

16、恢復(fù)刪除的分支

git reflog 查看之前的這個(gè)已經(jīng)刪除的分支的提交歷史

git branch

六、標(biāo)簽

1、列出所有標(biāo)簽

git tag

2、新建一個(gè)指向當(dāng)前commit的tag

git tag [tag-name]

3、新建一個(gè)tag在指定的commit

git tag [tag-nam] [commit]

4、刪除本地tag

git tag -d [tag-name]

5、刪除遠(yuǎn)程tag

git push [origin-name]:refs/tags/[tag-name]

6、查看tag信息

git show tag

7、提交本地所有tag

git push [origin-name] --tags

8、提交指定tag

git push [origin-name] [tag]

七、查看信息

1、查看有變更的文件

git status

2、顯示當(dāng)前分支的版本歷史

git log

3、顯示commit歷史,以及每次commit發(fā)生變更的文件

git log --stat

4、顯示代碼差異

git diff

暫存區(qū)沒有文件:比較的是當(dāng)前工作區(qū)和上一次的commit的差別。

暫存區(qū)有文件:比較的是當(dāng)前工作區(qū)和暫存區(qū)的差別。

5、顯示暫存區(qū)和上一次commit的差異

git diff --cached [file]

6、顯示工作區(qū)和當(dāng)前分支的最新commit的差異

git diff head

7、顯示兩次提交之間的差異(commit1 和 commit的順序需要注意,不一樣會(huì)導(dǎo)致新增和刪除錯(cuò)位)

git diff [commit1] [commit2]

8、顯示某次提交的元數(shù)據(jù)的和內(nèi)容變化

git show [commit]

八、遠(yuǎn)程同步

配置遠(yuǎn)程倉庫:

git remote add test http://xxxx@git.XXXX.com/scm/wbqa/xxxx.git

test為遠(yuǎn)程倉庫的別名,后面的htpp為遠(yuǎn)程倉庫地址。

刪除遠(yuǎn)程倉庫:

git remote rm test

test為別名

1、下載遠(yuǎn)程倉庫的所有變動(dòng)

git fetch [remote]

2、顯示所有的遠(yuǎn)程倉庫

git remote -v

和git remote的差別

$ git remote

origin

$ git remote -v

origin https://github.com/DimpleFeng/GitTest.git (fetch)

origin https://github.com/DimpleFeng/GitTest.git (push)

3、取回遠(yuǎn)程倉庫的變化,并和本地分支合并

git pull [remote] [branch]

4、上傳本地指定分支到遠(yuǎn)程倉庫

git push [remote] [branch]

5、強(qiáng)行推送當(dāng)前分支到遠(yuǎn)程倉庫即使有沖突

git push [remote] --force

6、git remote 通常用于查看別人的進(jìn)行,因?yàn)槿』氐拇a對(duì)本地沒有影響。

git remote add 添加遠(yuǎn)程主機(jī)

git remote rm 刪除遠(yuǎn)程主機(jī)

git remote rename

7、git pull 取回遠(yuǎn)程主機(jī)某個(gè)分支的更新,再和本地的分支進(jìn)行合并。

git pull :

取回origin主機(jī)的next分支,與本地的master合并

git pulll origin next:master

如果遠(yuǎn)程分支是和當(dāng)前的分支進(jìn)行合并,則冒號(hào)后面可以省略。

在某些場(chǎng)合,Git會(huì)自動(dòng)在遠(yuǎn)程分支和本地分支之間創(chuàng)建一個(gè)追蹤關(guān)系,如果當(dāng)前分支和遠(yuǎn)程分支存在著追蹤關(guān)系,就可以省略遠(yuǎn)程分支名稱。

如果當(dāng)前分支只有一個(gè)追蹤分支,遠(yuǎn)程主機(jī)名也可以省略。

8、git push 將本地分支的更新,推送到遠(yuǎn)程主機(jī)

git push :

如果省略遠(yuǎn)程分支名,表示將本地分支推送給與之存在追蹤關(guān)系的遠(yuǎn)程分支,如果該分支不存在會(huì)被新建。

如果省略本地分支名,則表示刪除指定的遠(yuǎn)程分支:git push origin :master

如果當(dāng)前分支和遠(yuǎn)程分支存在追蹤關(guān)系,則本地分支和遠(yuǎn)程分支都可以省略。

如果只存在一個(gè)追蹤分支,那么主機(jī)名可以省略.

如果遠(yuǎn)程主機(jī)的版本比本地的新,那么推送到Git的時(shí)候會(huì)報(bào)錯(cuò),這個(gè)時(shí)候可以采用git push –force origin強(qiáng)制覆蓋遠(yuǎn)程主機(jī)的版本。

九、撤銷

1、恢復(fù)暫存區(qū)的指定文件到工作區(qū)。會(huì)丟失提交到暫存區(qū)后對(duì)該文件的所有操作。

git checkout [file]

2、恢復(fù)某次commit的指定文件到暫存區(qū)和工作區(qū)(git處于等待commit狀態(tài),同時(shí)會(huì)丟失在這之前對(duì)工作區(qū)的修改的內(nèi)容)

git checkout [commit] [file]

3、恢復(fù)暫存區(qū)所有文件到工作區(qū)。會(huì)丟失在提交到暫存區(qū)之后的對(duì)文件的所有修改。

git checkout .

4、重置暫存區(qū)和工作區(qū),與上一次commit一致

git reset --hard

5、重置當(dāng)前分支的head為指定的commit,同時(shí)重置暫存區(qū)和工作區(qū),與指定commit一致。

git reset --hard [commit]

git reset [file] 將file從暫存區(qū)回退到工作區(qū)(修改內(nèi)容不會(huì)丟失)

6、將未保存的變化隱藏

git stash

彈出

git stash pop

7、查看歷史命令

git reflog

總結(jié)

以上是生活随笔為你收集整理的git 怎么备份本地分支_Git常用个人备份笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。