git安裝,配置和使用
阿新 • • 發佈:2018-01-24
查看 -name 隱藏 user 遠程倉庫 color read 現場 branch
基礎操作
- 需要一個文件夾作為版本庫
- 建立倉庫
git init
- 添加文件
git add filename
- 提交文件
git commit -m "info"
- 查看日誌
git log//—pretty=oneline
版本控制
- 版本回退
git reset —hard HEAD^
HEAD^:上一個版本 HEAD~100:100個版本之前 commit_id:回退到該ID對應版本 - 查看命令日誌
git reflog
- 查看狀態
git status
- 比較不同
git diff HEAD — readme.txt
- 撤銷/丟棄在工作區的修改
git checkout -- <file>
ps: 如果沒有放到緩存區,就回退到和版本庫一樣,如果放到了緩存區,回退到緩存區 - 把緩存區文件放回工作區
git reset HEAD <file>
- 從版本庫中刪除該文件,那就用命令
git rm
刪掉,並且提交git commit -m "delete a file"
- 刪錯恢復
git checkout — test.txt
推送到遠程倉庫
- 關聯遠程倉庫
git remote add origin [email protected]:server-name:path/repo-name.git
- 把本地庫的當前master分支內容推到遠程
git push -u origin master
- 本地提交後,推送到遠程github
git push origin master
從遠程庫克隆
git clone [email protected]:username/repo-name.git
本地庫分支管理
- 查看分支:
git branch
- 創建分支:
git branch <name>
- 切換分支:
git checkout <name>
- 創建+切換分支:
git checkout -b <name>
- 合並某分支到當前分支:
git merge <name>
- 刪除分支:
git branch -d <name>
強行刪除一個沒有被合並過的分支:git branch -D <name>
- 分支可視化:
git log --graph
git log --graph --pretty=oneline --abbrev-commit
更簡略- 合並分支時:
- 加上
--no-ff
參數用普通模式合並,合並後的歷史有分支,能看出來曾經做過合並 - 加上
fast forward
看不出來曾經做過合並,歷史分支會被丟棄 - 保存工作現場:把工作現場
git stash
,離開,再git stash pop
,回到工作現場 - 查看工作現場:
git stash list
遠程庫分支管理
- 查看遠程庫信息:
git remote -v
- 從本地推送分支:
git push origin branch-name
如果推送失敗,先用git pull
更新版本 - 在本地創建和遠程分支對應的分支,使用
git checkout -b branch-name origin/branch-name
(本地和遠程分支的名稱最好一致) - 建立本地分支和遠程分支的關聯,使用
git branch --set-upstream branch-name origin/branch-name
- 從遠程抓取分支:
git pull
,如果有沖突,要先處理沖突。
使用標簽
- 新建標簽:
git tag <name>
,默認為HEAD,也可以指定一個commit id; - 制定標簽信息:
git tag -a <tagname> -m "blablabla..."
- 用PGP簽名標簽:
git tag -s <tagname> -m "blablabla..."
- 查看所有標簽:
git tag
- 推送一個本地標簽:
git push origin <tagname>
- 推送全部未推送過的本地標簽:
git push origin --tags
- 刪除一個本地標簽:
git tag -d <tagname>
- 刪除一個遠程標簽:
git push origin :refs/tags/<tagname>
配置需要忽略的文件
- 忽略某些文件時,需要編寫
.gitignore
文件 - .gitignore文件本身要放到版本庫裏,並且可以對.gitignore做版本管理
配置別名(分支表示著色)
git config --global alias.lg "log --color --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset‘ --abbrev-commit” Git lg
git的配置文件
- 配置Git的時候,加上
--global
是針對當前用戶起作用的,如果不加,那只針對當前的倉庫起作用。 - 每個倉庫的Git配置文件:
.git/config
文件中 - 當前用戶的Git配置文件:用戶主目錄下的一個隱藏文件
.gitconfig
中
git安裝,配置和使用