git是分布式的**版本控制工具,當年linus為了管理好linux核心**搞出來的東西。雖一直聽說git合併**很方便,但卻沒怎麼用過,公司一直還在用svn來管理**。
最近註冊了個github賬號,用來看原始碼,當然自己也要寫一點,這裡順便把一些最基礎的git命令記下來。
1. 建立本地版本庫
建立新的**庫:git init
轉殖現有**庫:git clone
set up git設定提交的使用者名稱和郵箱git config --global user.name "snailding"
git config --global user.email [email protected]
如果不設定個人資訊,提交的資訊將不會有更改者資訊,這樣會加大專案管理的難度。
2.修改專案檔案
git add //將檔案新增到暫存區
git status //檢視當前工作目錄狀態
git rm //從暫存區刪除檔案
git commit -m "" //提交檔案到本地**庫:
git diff //檢視當前工作檔案與暫存區檔案的差異
若要看已經暫存起來的檔案和上次提交時的快照之間的差異,可以用 git diff --cached 命令
git commit -a -m 'added new benchmarks' //暫存並同時提交到本地庫
3. 建立金鑰資訊並在github上配置
ssh-keygen -t rsa -c "[email protected]" //生成金鑰對
enter passphrase (empty for no passphrase): [type a passphrase] //輸入密碼(這個密碼會在你提交專案時使用):
ssh-agent -s //配置ssh使用公私鑰
將生成的公鑰新增到github的管理後台中
4.提交**到版本庫
git remote add origin [email protected]:defnngj/demo.git
//如果你是第一次提交專案,這一句非常重要,這是你本地的當前的專案與遠端的哪個倉庫建立連線。
//origin可以改為別人的名字,但是在你下一次push(提交)時,也要用你修改之後的名字。
git remote -v //檢視你當前專案遠端連線的是哪個倉庫位址
git push -u origin master // 將本地的專案提交到遠端倉庫中
git push origin master //push到遠端中的同名專案中
git pull origin master //遠端**庫上的**更新到本地:
如果需要忽略某些檔案,建立乙個名為 .gitignore 並寫入相應規則
5.分支的新建與合併
git checkout -b iss53 //新建並切換到該分支,即當前的 head 指標正指向 iss53
相當於執行了:
git branch iss53
git checkout iss53
git checkout master //切換分支,切換到主分支
git checkout master //切回主分支,合併hotfix分支
git merge hotfix
git branch -d hotfix //刪除hotfix分支
git checkout master //合併分支
git merge iss53
git status //看看哪些檔案在合併時發生衝突,可以用git status查閱:
任何包含未解決衝突的檔案都會以未合併(unmerged)的狀態列出
6.其他常見問題
提交**是遇到衝突,拒絕提交
git pull remotetest master //抓取遠端倉庫中的檔案,需要指定分支
檢視衝突檔案內容,衝突用<<<<<< *****= >>>>>>隔開衝突**,上面的是當前修改內容,下面的則是別人修改的內容。
git add 修改衝突內容,重新提交,推送
假如本地已經存在了這個專案,而倉庫中又有一新的更新,如何把更的合併到本地的專案中?
git fetch origin //取得遠端更新,這裡可以看做是準備要取了
git merge origin/master //把更新的內容合併到本地分支/master
git 都會嘗試去自動合併改動,但可能會產生衝突(conflicts)需要手動合併
git diff 檢視不同版本的不同
git log //檢視提交歷史 -p顯示內容不同 -3指定顯示的個數
git config --global core.autocrlf true //windows提交檔案時自動設定換行轉換
參考:github使用git更新:
git用法:
Git使用簡記
匯出檔案 git 標籤 新增標籤 git tag,例 git tag v1.0 新增帶有說明的標籤 git tag a v0.1 m 第一次提交 a指定標籤名,m指定說明文字 檢視標籤 git tag 為歷史提交打標籤 先檢視歷史提交的 commit idgit log pretty oneline...
git使用簡記 git分支使用
最近使用到git託管專案,記錄一下常用到git命令。這篇文章是專注記錄git分支部分常用的命令。1 檢視本地分支 git branch2 檢視遠端分支 git branch a3 檢視當前所在分支 git branch跟檢視本地分支的命令是一樣的,結果前面有 號的就是當前分支 4 切換到指定分支 如...
Git手冊簡記
在git介面中的幫助選項 在當前目錄下新建空倉庫git init。新增全部檔案 git add a 新增某個檔案 git add 檔名 新增某類檔案 git add cpp 新增.cpp型別的檔案 注意 暫存和提交有區別 將更改更新到倉庫 git commit m 附加備註 提交後就完成了本地倉庫的...