
1.Centos安裝及配置
2.生成ssh-key
# 生成ssh key,公鑰添加到gitlab,用於賬號認證。生成過一次就不需要再次生成了。
$ ssh-keygen
# 運行命令后,按3次回車即可
# 拷貝公鑰文件
$ cat ~/.ssh/id_rsa.pub
3.clone倉庫
4.配置
#配置用戶信息(郵箱用公司郵箱)
$ git config --global user.name <username>
$ git config --global user.email <email>
5.增加/刪除文件
# 添加文件到暫存區
$ git add <file1> <file2>
# 添加目錄到暫存區
$ git add <dir>
# 添加當前目錄下所有已修改和未跟蹤文件到暫存區
$ git add .
# 刪除文件,同時刪除本地和暫存區文件
$ git rm <file>
# 將文件從暫存區刪除,保留工作區文件
$ git rm --cached/staged <file>
# 重命名文件
$ git mv <file> <file-new>
# 忽略原來未改變的文件權限
$ git config --add core.filemode false
$ git checkout vendor/
6.提交代碼
# 提交暫存區內容到本地倉庫
$ git commit -m <"message">
# 跳過暫存區,提交本地所有修改到本地倉庫(不包含新添加的文件)
$ git commit -am <"message">
# 追加提交,上一次修改漏提了一個文件
# 如果上一次提交后代碼沒有變化,此命令可以改寫上一次的提交日志
$ git commit --amend -m <"message">
7.分支
# 列出所有本地分支,"*"號開頭的為當前分支
$ git branch
# 列出所有遠程分支
$ git branch -r
# 列出所有本地分支和遠程分支
$ git branch -a
# 切換分支
$ git checkout <branch_name>
# 以本地分支當前狀態,新建分支並檢出該新分支(未提交的修改也將帶到新分支)
$ git checkout -b <branch_name>
# 以遠程分支新建本地分支,檢出該分支,並和遠程分支建立跟蹤關系
$ git checkout -b <branch_name> <remote_name>/<remote_branch>
# 例如: git checkout -b FEA/BUG-002 origin/FEA/BUG-002
# 切換到上一個分支
$ git checkout -
# 建立當前分支與遠程分支的跟蹤關系
$ git branch --set-upstream-to=<remote_name>/<branch_name>
# 例如: git branch --set-upstream-to=origin/develop
# 合並本地分支到當前分支
$ git merge <branch_name>
# 合並遠程分支到當前分支
# 合並前,先要執行git pull/fetch
$ git merge <remote_name>/<branch_name>
# 刪除本地分支(只能刪除已合並分支)
$ git branch -d <branch_name>
8.標簽
# 列出所有tag
$ git tag
# 從指定commit新建tag
$ git tag <tag_name> <commit>
# 刪除本地tag
$ git tag -d <tag_name>
# 推送指定tag
$ git push <remote_name> <tag_name>
# 推送所有tag
$ git push --tags <remote_name>
# 以指定tag新建分支
$ git checkout -b <branch_name> <tag_name>
9.遠程同步
# 下載所有遠程倉庫更新
$ git fetch <remote_name>
# 例如: git fetch origin
# 顯示遠程倉庫地址
$ git remote -v
# 顯示指定遠程倉庫信息,包括有哪些遠程分支等
$ git remote show <remote_name>
# 添加遠程倉庫
$ git remote add <remote_name> <url>
# 清理遠程分支
$ git remote prune <remote_name>
# 如果遠程倉庫刪除了某些分支,此命令會將遠程分支從本地列表中刪除
# 拉取遠程倉庫指定分支的更新,並合並到當前分支
$ git pull <remote_name> <branch_name>
# 例如: git pull origin master
# 此命令會拉取origin倉庫所有更新,並合並最新遠程master到當前分支
# 推送本地分支到遠程倉庫
$ git push <remote_name> <branch_name>
# 例如: git push origin master
# 此命令推送當前master分支到遠程倉庫
# 推送所有分支到遠程倉庫
$ git push --all <remote_name>
10.撤銷
# 取消工作區文件的修改
$ git checkout -- <file>
# 將指定文件從暫存區撤出
$ git reset -- <file>
11.設置忽略列表
# 新建一個名為.gitignore文件,可將此文件提交到git倉庫,語法如下:
*~ #忽略所有以波浪號(~)結尾的文件
*.a #忽略所有以.a結尾的文件
!lib.a #但lib.a除外
/TODO #僅忽略項目根目錄下的TODO文件,不包含subdir/TODO
build/ #忽略build/目錄下的所有文件
doc/*.txt #忽略doc/notes.txt,但不包括doc/server/arch.txt