Git使用個人總結

git個人總結

使用小結

1.Eclipse git插件配置祕鑰.解決方式: window → preference → general → network connection → SSH2 配置已有ppk
2..gitignore文件中添加文件路徑即可忽略,提交時不再出現已配置的路徑文件
3.衝突時,先編輯衝突,再commit&push,衝突代碼已經更新到代碼裏時,會出現下圖
這裏寫圖片描述
4.分支的操作,來自(https://blog.zengrong.net/post/1746.html)
4.1查看遠程分支:加上-a參數可以查看遠程分支,遠程分支會用紅色表示出來(如果你開了顏色支持的話),eg,以下代碼

$ git branch -a
 master
 remote/origin/master
 remote/origin/publish

4.2刪除遠程分支和tag
git push –delete origin branchname
git push –delete origin tag tagname
推送一個空分支/tag到遠程(效果一致)
git push origin :refs/tags/標籤名
git push origin :branchName

4.3刪除不存在對應遠程分支的本地分支,假設這樣一種情況:
a我創建了本地分支b1並pull到遠程分支 origin/b1;
b其他人在本地使用fetch或pull創建了本地的b1分支;
c我刪除了 origin/b1 遠程分支;
d其他人再次執行fetch或者pull並不會刪除這個他們本地的 b1 分支,運行 git branch -a 也不能看出這個branch被刪除了,如何處理?
使用下面的代碼查看b1的狀態:
$ git remote show origin
* remote origin
Fetch URL: [email protected]:xxx/xxx.git
Push URL: [email protected]:xxx/xxx.git
HEAD branch: master
Remote branches:
master tracked
refs/remotes/origin/b1 stale (use ‘git remote prune’ to remove)
Local branch configured for ‘git pull’:
master merges with remote master
Local ref configured for ‘git push’:
master pushes to master (up to date)
這時候能夠看到b1是stale的,使用 git remote prune origin 可以將其從本地版本庫中去除。
更簡單的方法是使用這個命令,它在fetch之後刪除掉沒有與遠程分支對應的本地分支:git fetch -p
4.4重命名遠程分支:在git中重命名遠程分支,其實就是先刪除遠程分支,然後重命名本地分支,再重新提交一個遠程分支。
重命名本地分支:git branch -m devel develop
推送本地分支: git push origin develop
如果本地分支的名字和遠端分支名字不一樣,就需要顯式指定了
當前處於要推送的分支上
git push remoteName HEAD:RemoteBranchName
當前不處於要推送的分支上git push remoteName localBranchName:RemoteBranchName
4.5把本地tag推送到遠程:git push並不會把tag標籤傳送到遠端服務器上,只有通過顯式命令才能分享標籤到遠端倉庫。
a.push單個tag,命令格式爲:git push origin [tagname]
例如:
git push origin v1.0 #將本地v1.0的tag推送到遠端服務器
b.push所有tag,命令格式爲:git push [origin] –tags
例如:
git push –tags

git push origin –tags
git push –tags
獲取遠程taggit fetch origin tag tagname


遇到的問題點(報錯內容,解決方式)

1.和svn習慣不同,已經提交的代碼文件看不到,推送到遠程的代碼有哪些
a.在idea中,push是會顯示有哪些commit將要push
b.使用命令模式使用git,git status會提示出哪些文件被提交,哪些文件未提交

2.error: Ref refs/remotes/origin/master is at d745d0b93ca27cd0c946d8435a75ba722cf228fd but expected 6d8966197b720818a64af0c6d4b6ae34bca76288
! 6d89661..17764f6 master -> origin/master (unable to update local ref)
解決方法:
從object數據庫中刪除所有不可達的object:
git gc –prune=now
git remote prune origin
來自(https://www.libaocai.com/6458.html#0-tsina-1-44436-397232819ff9a47a7b7e80a40613cfe1)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章