使用說明
git add
git add 是一個多功能命名,根據目標文件的狀態不同,此命令的效果也不同:可以用它開始跟蹤新文件,或者把已經跟蹤的文件放到暫存區,還能用於合併時把衝突的文件標記爲已解決狀態。
已經跟蹤的文件修改後還是需要執行git add命令將修改的文件放到暫存區的。
git commit -a
一般執行git commit之前要先執行git add,將修改的文件加到暫存區,執行git commit -a 可以省去git add命令
git commit --amend
--amend 用於撤銷上一次的提交,重新提交替換上一次的提交,如果一個一個文件忘了暫存了,導致沒有提交上去,可以先執行git add 然後再執行git commit --amend
git checkout -b 'xxxx'
創建並檢出名爲‘xxx’的分支,等價於:
git branch 'xxx'
git checkout 'xxxx'
如果想在某個分支的基礎上創建分支,必須要先切換到該分支後再創建新的分支,例如在master分支的基礎上創建分支:
git checkout master
git checkout -b 'xxx'
git branch -d xxx
刪除分支xxx,刪除分支的時候必須先退出分支,退出分支直接git checkout 到其他分支即可
git branch -D xxx
強制刪除xxx分支,如果xxx分支尚未合併到別的分支,執行git branch -d xxx,會失敗,如果要強制刪除可以執行該命令
git merge xxx
將xxx分支合併到當前分支,執行該命令前要先切換到要合併的分支,例如要把xxx分支合併到master分支:
git checkout master
git merge xxx
git cherry-pick <commit id>
將指定的某次提交合併到當前分支
git remote -v
查看遠程url
git remote add xxx remoteurl
添加遠程倉庫url
git remote add zhangzhanyang ssh://[email protected]/~zhangzhanyang/banma_android_crowdsource_zzy.git
git remote set-url
修改遠程倉庫url
git remote set-url origin [email protected]:zhzhyang0313/photoweb.git
git reset --hard $commitId
將本地倉庫回退到某次提交$commitId爲某次提交的id
git push origin xxx
將當前分支commit推送到遠程分支xxx
git push -f
強制推送到遠程倉庫,如果遠程倉庫版本較高會被覆蓋掉
git stash
將工作區中內容儲藏
git stash list
查看儲藏區內容
git stash apply [--index]
從儲藏區恢復到工作區
git mv -f myfile MyFile
修改文件名
git fetch origin
將遠程分支拉到本地
git checkout -b xxx origin/xxx
用遠程分支xxx創建本地分支xxx
問題集錦
1、git中報unable to auto-detect email address 錯誤的解決辦法
提示
** Please tell me who you are.
Run
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'tim@newton.(none)')
解決辦法
找到工程目錄的.git文件夾,打開之後找到config文件,在最後邊加上一句話
[user]
email=your email
name=your name
your email 和your name隨便寫上就行
或者
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
2、error: failed to push some refs to .....
原因沒有權限
解決方法:
添加權限或者新建一個分支提交
3、使用git push沒有報錯,但是遠程倉庫沒有更新的問題
解決方法: