使用git教程-一篇就夠了

使用git管理項目是開發人員必備的技能,下面就介紹如何使用git將本地文件管理並且同步到github上面。
小白可以參考

【將本地文件git到遠程github倉庫】

在這裏插入圖片描述

創建SSH-key並且在github中添加認證

在這裏插入圖片描述
在本地用戶的.ssh文件下面生成:
在這裏插入圖片描述
在github的setting中進行綁定:
在這裏插入圖片描述
驗證時候綁定成功!
在這裏插入圖片描述

在gitee、bitbucket等git管理的代碼託管上面的操作與上類似;
在這裏插入圖片描述
在這裏插入圖片描述

將本地倉庫與遠程github中的倉庫關聯

  要關聯一個遠程庫,使用命令

git remote add origin   git@server-name:path/repo-name.git

git remote add origin   [email protected]:gqzdev/vue-start.git 

在這裏插入圖片描述

  關聯後,使用命令
  第一次推送master分支的所有內容;

git push -u origin master

由於遠程庫是空的,我們第一次推送master分支時,加上了 –u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。
在這裏插入圖片描述
  此後,每次本地提交後,只要有必要,就可以使用命令

#推送最新修改;
git push origin master

  分佈式版本系統的最大好處之一是在本地工作完全不需要考慮遠程庫的存在,也就是有沒有聯網都可以正常工作,而SVN在沒有聯網的時候是拒絕幹活的!當有網絡的時候,再把本地提交推送一下就完成了同步,真是太方便了!

刪除本地文件後,想從遠程倉庫中重新Pull最新版文件。

Git提示:up-to-date,但未得到刪除的文件

原因:當前本地庫處於另一個分支中,需將本分支Head重置至master.

git checkout master 
git reset --hard

git 強行pull並覆蓋本地文件

git fetch --all  
git reset --hard origin/master 
git pull

參考資料
1.Why does Git say my master branch is “already up to date” even though it is not?
2. why-does-git-say-my-master-branch-is-already-up-to-date-even-though-it-is-not

其他git命令

在這裏插入圖片描述

1)git help <command> # 顯示command的help

2)git show # 顯示某次提交的內容 git show $id

3)git co -- <file> # 拋棄工作區修改

4)git co . # 拋棄工作區修改

5)git add <file> # 將工作文件修改提交到本地暫存區

6)git add . # 將所有修改過的工作文件提交暫存區

7)git rm <file> # 從版本庫中刪除文件

8)git rm <file> --cached # 從版本庫中刪除文件,但不刪除文件

9)git reset <file> # 從暫存區恢復到工作文件

10)git reset -- . # 從暫存區恢復到工作文件

11)git reset --hard # 恢復最近一次提交過的狀態,即放棄上次提交後的所有本次修改

12)git ci <file> git ci . git ci -a # 將git add, git rm和git ci等操作都合併在一起做                                    git ci -am "some comments"

13)git ci --amend # 修改最後一次提交記錄

14)git revert <$id> # 恢復某次提交的狀態,恢復動作本身也創建次提交對象

15)git revert HEAD # 恢復最後一次提交的狀態

16)git diff <file> # 比較當前文件和暫存區文件差異 git diff

17)git diff <id1><id1><id2> # 比較兩次提交之間的差異

18)git diff <branch1>..<branch2> # 在兩個分支之間比較

19)git diff --staged # 比較暫存區和版本庫差異

20)git diff --stat # 僅僅比較統計信息

21)git log git log <file> # 查看該文件每次提交記錄

22)git log -p <file> # 查看每次詳細修改內容的diff

23)git log -p -2 # 查看最近兩次詳細修改內容的diff

24)git log --stat #查看提交統計信息

25)git br -r # 查看遠程分支

26)git br <new_branch> # 創建新的分支

27)git br -v # 查看各個分支最後提交信息

28)git br --merged # 查看已經被合併到當前分支的分支

29)git br --no-merged # 查看尚未被合併到當前分支的分支

30)git co <branch> # 切換到某個分支

31)git co -b <new_branch> # 創建新的分支,並且切換過去

32)git co -b <new_branch> <branch> # 基於branch創建新的new_branch

33)git co $id # 把某次歷史提交記錄checkout出來,但無分支信息,切換到其他分支會自動刪除

34)git co $id -b <new_branch> # 把某次歷史提交記錄checkout出來,創建成一個分支

35)git br -d <branch> # 刪除某個分支

36)git br -D <branch> # 強制刪除某個分支 (未被合併的分支被刪除的時候需要強制)

37)git merge <branch> # 將branch分支合併到當前分支

38)git merge origin/master --no-ff # 不要Fast-Foward合併,這樣可以生成merge提交

39)git diff > ../sync.patch # 生成補丁

40)git apply ../sync.patch # 打補丁

41)git apply --check ../sync.patch #測試補丁能否成功

42)git stash # 暫存

43)git stash list # 列出所有stash

44)git stash apply # 恢復暫存的內容

45)git stash drop # 刪除暫存區

46)git pull # 抓取遠程倉庫所有分支更新併合併到本地

47)git pull --no-ff # 抓取遠程倉庫所有分支更新併合併到本地,不要快進合併

48)git fetch origin # 抓取遠程倉庫更新

49)git merge origin/master # 將遠程主分支合併到本地當前分支

50)git co --track origin/branch # 跟蹤某個遠程分支創建相應的本地分支

51)git co -b <local_branch> origin/<remote_branch> # 基於遠程分支創建本地分支,功能同上

52)git push # push所有分支

53)git push origin master # 將本地主分支推到遠程主分支

54)git push -u origin master # 將本地主分支推到遠程(如無遠程主分支則創建,用於初始化遠程倉庫)

55)git push origin <local_branch> # 創建遠程分支, origin是遠程倉庫名

56)git push origin <local_branch>:<remote_branch> # 創建遠程分支

57)git push origin :<remote_branch> #先刪除本地分支(git br -d <branch>),然後再push刪除遠程分支

58)git remote -v # 查看遠程服務器地址和倉庫名稱

59)git remote show origin # 查看遠程服務器倉庫狀態

60)git remote add origin git@ github:robbin/robbin_site.git # 添加遠程倉庫地址

61)git remote set-url origin git@ github.com:robbin/robbin_site.git # 設置遠程倉庫地址(用於修改遠程倉庫地址) git remote rm <repository> # 刪除遠程倉庫

62)git clone --bare robbin_site robbin_site.git # 用帶版本的項目創建純版本倉庫

63)scp -r my_project.git git@ git.csdn.net:~ # 將純倉庫上傳到服務器上

64)mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服務器創建純倉庫

65)git remote add origin git@ github.com:robbin/robbin_site.git # 設置遠程倉庫地址

66) git push -u origin master # 客戶端首次提交

67) git push -u origin develop # 首次將本地develop分支提交到遠程develop分支,並且track

68) git remote set-head origin master # 設置遠程倉庫的HEAD指向master分支

其他教程

瘳雪峯-Git教程

Git命令小記

Git常用命令

Git-book

Git參考手冊
http://livoras.com/post/28
使用git和github進行協同開發流程
https://github.com/tiimgreen/github-cheat-sheet/blob/master/README.zh-cn.md
github祕籍
http://onlywei.github.io/explain-git-with-d3/
https://github.com/onlywei/explain-git-with-d3
動畫方式練習git
http://www.cnblogs.com/rubylouvre/archive/2013/01/24/2874694.html
如何在github上fork一個項目來貢獻代碼以及同步原作者的修改
https://github.com/phodal/github-roam
GitHub 漫遊指南

http://blog.chinaunix.net/uid-26495963-id-3367377.html
github readme.md 添加圖片

http://www.imooc.com/learn/390
版本控制入門 – 搬進 Github
http://www.imooc.com/learn/208
版本管理工具介紹—Git篇
http://m.nowcoder.com/courses/2
GitHub&Git入門基礎

http://f2e.im/t/7
http://htmlpreview.github.com/
github 在線預覽

https://chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc/related
github插件

http://www.jefftk.com/icdiff
一個能並列高亮顯示文件比較結果的小工具

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