1:配置提交的用戶名
git config --global user.name "dylan"
2:配置提交的郵箱
git config --global user.email "dylan@qq.com"
3:創(chuàng)建版本庫:
git init --bare project.git
4:克隆
git clone /home/www/git/project.git .
5:新添文件
git add file1...
6:提交改動的文件
git commit -m "comment" [-a]
7:查看是否有文件修改了
git status
8:查看提交日志
git log | git reflog
9:查看文件修改了那些內(nèi)容
git diff test.txt | git diff HEAD -- test.txt
10:退回版本
退回到之前N個版本:git reset --hard HEAD~N(1,2,3...表示前1,2,3。。。個版本)
退回之前版本:git reset --hard version-id
11: 撤銷
撤銷還沒提交到暫存區(qū)的修改:git checkout -- test.txt(git checkout 就是從版本庫中替換工作區(qū)的文件)
撤銷提交到暫存區(qū)的修改:git reset HEAD test.txt
12:誤刪恢復(fù)
誤刪工作區(qū)的文件,從暫存區(qū)中恢復(fù):git checkout -- test.txt(git checkout 就是從版本庫中替換工作區(qū)的文件)
如果暫存區(qū)沒有該文件,可以從版本庫中恢復(fù):git reset --hard version-id
13:刪除文件
git rm test.txt && git commit -m "remove test.txt"
14:添加一個遠端版本庫
git remote add origin https://github.com/dylanPang/test.git
15:刪除遠端版本庫
git remote rm origin
16:創(chuàng)建分支
git branch dev
17:切換分支
切換分支:git checkout dev
創(chuàng)建并切換到該分支:git checkout -b dev
18:查看分支
查看分支:git branch
查看遠端的分支:git branch -r
19:刪除分支
刪除分支:git branch -d dev 或 git branch -D dev (強制刪除)
20:合并分支
git merge [--no-ff -m "merge"] dev
21:暫存修改
暫存修改過的文件內(nèi)容,保持工作目錄干凈:git stash
22:列舉暫存
列出暫存的信息:git stash list
23:還原暫存
還要工作現(xiàn)場:git stash apply stash@{N} && git stash drop stash@{N} 或 git stash pop
24:創(chuàng)建分支
創(chuàng)建遠程的開發(fā)分支:git checkout -b dev origin/dev
25:創(chuàng)建分支鏈接
創(chuàng)建本地dev分支與origin/dev分支鏈接:git branch --set-upstream dev origin/dev
26:拉取內(nèi)容
從origin/dev拉取更新內(nèi)容:git pull origin/dev | git pull
27:指定深度克隆
clone的時候,可以指定深度,如下,為1即表示只克隆最近一次commit.
全選復(fù)制放進筆記git clone git://xxoo --depth 1
git clone https://helays@bitbucket.org/helays/domedeanew.git --depth 1
28:解決沖突
沖突強制解決方案
git fetch --all
git reset --hard origin/master
git fetch 只是下載遠程的庫的內(nèi)容,不做任何的合并 git reset 把HEAD指向剛剛下載的最新的版本
29:回滾
回滾提交前狀態(tài)(代碼保留)
方法:
git reset --hard <commit_id>
git push origin HEAD --force
其他 :
根據(jù)–soft –mixed –hard,會對working tree和index和HEAD進行重置:
git reset –mixed:此為默認(rèn)方式,不帶任何參數(shù)的git reset,即時這種方式,它回退到某個版本,只保留源碼,回退commit和index信息
git reset –soft:回退到某個版本,只回退了commit的信息,不會恢復(fù)到index
file一級。如果還要提交,直接commit即可
git reset –hard:徹底回退到某個版本,本地的源碼也會變?yōu)樯弦粋€版本的內(nèi)容
HEAD 最近一個提交
HEAD^ 上一次
<commit_id> 每次commit的SHA1值. 可以用git log 看到,也可以在頁面上commit標(biāo)簽頁里找到
親測 git
reset –soft命令,只是撤銷了commit的提交記錄,commit改動的代碼仍然存在,很受用。
git reset --soft commit-id,其中的commit-id指的是撤銷之前的那個commit id.
30:查看git配置
git config -l
31:回滾
git fetch --all
git reset --hard origin/master
33:強制放棄本地修改(新增、刪除文件)
git checkout . && git clean -df
34:推送至遠程分支
git push --set-upstream origin stable
35:分支清理碎片
git checkout --orphan clean_log
git branch -D master
git branch -m master
git push -f origin master
36:創(chuàng)建 公私鑰
ssh-keygen -t rsa -C "[dylan@qq.com](mailto:dylan@qq.com)"