Git很少說,你們都知道這是一個分佈式版本控制系統,對開發者而言,能夠敏捷高效的進行代碼管理及開發,也很是適合多人協做。話很少說,下面就來點乾貨。git
咱們在工做區(就是本身的電腦裏)建立一個新的文件夾,這個文件夾用來存放遠端同步過來的代碼庫。進入到這個新建的文件夾,執行建立新的倉庫的命令:
$ git init
緩存
補充:
差點忘記介紹一下git維護的「樹」(3棵):ssh
$ git clone <repository_address>
分佈式
舉例:gerrit倉庫:
git clone "ssh://usera@gerrit.cmss.com:123456xx/Project1/Project1.1"
命令行
咱們也可使用git clone <repository_address> <local_dir>
命令將倉庫拷貝到指定的local_dir
目錄中。版本控制
$ git pull
日誌
查看本地分支
$ git branch
查看遠端分支
$ git branch -a
code
$ git checkout -b local_branch_name origin/remote_branch_name
其中local_branch_name
是本地分支的取名;remote_branch_name
是遠端分支的名稱;開發
在這個分支上進行代碼的開發或者修改;rem
逐個添加
$ git add file_name
其中file_name
爲須要提交的代碼路徑名;
一次性添加
咱們也能夠一次性所有提交
$ git add -A
基於模板提交
$ git commit
會跳轉到以前編輯好的git提交模板,進行模板信息編寫並保存;
基於命令行的提交信息
$ git commit -m "code infomation"
其中"code infomation
替換爲本次提交代碼的信息;
通常在代碼推送前,咱們最好進行一次拉取操做
$ git pull --rebase
這個操做主要是避免,在咱們修改代碼的同時,其餘開發者也在修改代碼並提交合併到了同一個分支,此時遠端倉庫和本地工做目錄的基線不一致。若是有衝突,咱們就手動去解決這些衝突。
$ git push origin HEAD:refs/for/remote_branch_name" 其中,
remote_branch_name`是遠端分支的名稱;
在使用git時,咱們也會使用一些輔助性的命令進行檢查或者進行代碼管理。
$ git status
$ git log
或者
$ git reflog
通常都是在提交代碼前沒有進行git pull
拉取最新代碼引發的,固然,當本身的代碼開發完畢後,再次拉取最新代碼也有可能和本地代碼也衝突。這個時候須要咱們去解決這些衝突。
方案一:咱們能夠經過上述的git pull --rebase
去解決衝突,而後從新git add
和git commit
,最後git push
。
方案二:咱們能夠經過git log
查看commit-id,找到最近一次提交,而後在經過git reset --soft commit-id
跳轉到倒數第二次提交的位置,進行代碼更改。