1 代碼管理
Git不多說,大家都知道這是一個分布式版本控制系統,對開發者而言,可以敏捷高效的進行代碼管理及開發,也非常適合多人協作。話不多說,下面就來點干貨。
1.1 創建新倉庫
我們在工作區(就是自己的電腦里)創建一個新的文件夾,這個文件夾用來存放遠端同步過來的代碼庫。進入到這個新建的文件夾,執行創建新的倉庫的命令:
$ git init
補充:
差點忘記介紹一下git維護的“樹”(3棵):
- 工作區: 也就是我們的電腦里的實際文件所在位置,即為工作目錄;
- 暫存區:Index,暫存的意思就是臨時保存我們的改動,類似於緩存;
- 版本庫:HEAD,這是git的版本庫,指向我們最后一次提交的結果。
1.2 克隆倉庫(拷貝項目)
$ git clone <repository_address>
舉例:gerrit倉庫:
git clone "ssh://usera@gerrit.cmss.com:123456xx/Project1/Project1.1"
我們也可以使用git clone <repository_address> <local_dir>命令將倉庫拷貝到指定的local_dir目錄中。
2 代碼提交流程
2.1 遠程拉取最新倉庫內容
$ git pull
2.2 查看分支
查看本地分支
$ git branch
查看遠端分支
$ git branch -a
2.3 切換分支
$ git checkout -b local_branch_name origin/remote_branch_name
其中local_branch_name是本地分支的取名;remote_branch_name是遠端分支的名稱;
2.4 開發代碼
在這個分支上進行代碼的開發或者修改;
2.5 代碼新增
逐個添加
$ git add file_name
其中file_name為需要提交的代碼路徑名;
一次性添加
我們也可以一次性全部提交
$ git add -A
2.6 代碼提交
基於模板提交
$ git commit
會跳轉到之前編輯好的git提交模板,進行模板信息編寫並保存;
基於命令行的提交信息
$ git commit -m "code infomation"
其中"code infomation替換為本次提交代碼的信息;
2.7 代碼拉取合並
一般在代碼推送前,我們最好進行一次拉取操作
$ git pull --rebase
這個操作主要是避免,在我們修改代碼的同時,其他開發者也在修改代碼並提交合並到了同一個分支,此時遠端倉庫和本地工作目錄的基線不一致。如果有沖突,我們就手動去解決這些沖突。
2.8 代碼推送
$ git push origin HEAD:refs/for/remote_branch_name" 其中,remote_branch_name`是遠端分支的名稱;
3 其他常用命令
在使用git時,我們也會使用一些輔助性的命令進行檢查或者進行代碼管理。
3.1 查看狀態
$ git status
3.2 查看日志
$ git log
或者
$ git reflog
4 代碼沖突
一般都是在提交代碼前沒有進行git pull拉取最新代碼引起的,當然,當自己的代碼開發完畢后,再次拉取最新代碼也有可能和本地代碼也沖突。這個時候需要我們去解決這些沖突。
方案一:我們可以通過上述的git pull --rebase去解決沖突,然后重新git add和git commit,最后git push。
方案二:我們可以通過git log查看commit-id,找到最近一次提交,然后在通過git reset --soft commit-id跳轉到倒數第二次提交的位置,進行代碼更改。
