git學習——個人常用命令add,commit以及push

Git命令行配置
1 安裝Github
2 安裝msysgit
3 要配置用戶名和油箱
  git config --global user.name <用戶名>
 我的命令就是:git config --global user.name mchdbagh
  git config --global user.email <油箱>
 我的命令就是:git config --global [email protected]
4 驗證有沒有連接上remote遠程服務器
ssh -T [email protected]


5 要生成ssh key
$ ssh -keygen
看到需要輸入密碼的,直接2個回車鍵即可回到主窗口。

去找.ssh裏面的id_isa.pub打開,最好用notepad++打開,的裏面的內容copy出來,然後放到https://網址裏面,加入
如何生成,請看文檔詳細介紹。http://www.worldhello.net/gotgithub/index.html#id6

Git常用命令介紹
git init --初始化項目,剛開始初始化項目的時候使用
git clone --從服務器上克隆到本地,如果服務器上面已經有項目了,直接使用這個命令clone到本地進行使用。
git status --查看版本信息
git add  --添加本地文件
git commit --提交更改 
git push --tags --將更改推送到服務器


(1) git init操作
[html] view plain copy
 print?
  1. kyman@SKYMAN-CF7E3587 ~  
  2.  mkdir test_git  
  3.   
  4. kyman@SKYMAN-CF7E3587 ~  
  5.  cd test_git/  
  6.   
  7. kyman@SKYMAN-CF7E3587 ~/test_git  
  8.  ls  
  9.   
  10. kyman@SKYMAN-CF7E3587 ~/test_git  
  11. $ git init  
  12. Initialized empty Git repository in c:/Documents and Settings/skyman/test_git/.git/  
  13.  ls -a  
  14.   ..  .git  

看到有.git文件

[plain] view plain copy
 print?
  1. $ ls -al  
  2. total 0  
  3. drwxr-xr-x    3 skyman   Administ        0 Sep 25 23:10 .  
  4. drwxr-xr-x   41 skyman   Administ        0 Sep 25 23:10 ..  
  5. drwxr-xr-x    1 skyman   Administ        0 Sep 25 23:10 .git  
  6.   
  7. $  



看到多另一個.git目錄,表示項目創建成功了。


(2) git clone操作
登陸 https://github.com/,看右下角,如圖下圖,找到打開庫的網址把提示mchdbagh/manual56加到後面,網址就是https://github.com/mchdbagh/manual56


打開後,點擊右下角的HTTPS clone URL欄目下方的複製按鈕,就得到了庫的clone地址 https://github.com/mchdbagh/manual56.Git,如圖所示


也可以選擇ssh方式:[email protected]:mchdbagh/manual56.git 

git clone [email protected]:mchdbagh/manual56.git;


打開 git clone [email protected]:mchdbagh/helloworld.git
如果需要自定義一個目錄名,可以寫成 git clone [email protected]:mchdbagh/helloworld.git test_hw


檢測是否clone成功,看到有manual56目錄是否存在

[java] view plain copy
 print?
  1. $ ls  
  2. AppData           Favorites       NTUSER.DAT  SendTo          _viminfo     manual56                    wc  
  3. Application Data  IECompatCache   NetHood     Templates       admovie.jpg  ntuser.dat.LOG              ??????????????????  
  4. CMB               IETldCache      PrintHood   UserData        client.log   ntuser.ini                  ??????  
  5. Contacts          Local Settings  PrivacIE    VirtualBox VMs  extensions   ntuserdirect_MyManager.dat  
  6. Cookies           My Documents    Recent      WINDOWS         helloworld   test_git  


(3) git add 操作實驗

[plain] view plain copy
 print?
  1. $ cd manual56/  
  2. --查看git當前版本庫的狀態  
  3. $ git status   
  4. # On branch master  
  5. nothing to commit (working directory clean)  
  6.   
  7. --進入我要修改的章節目錄  
  8. $ cd docs/Chapter_17/    
  9. $ vim 17.5.0.0.0.md    --新建一個md文件,裏面簡單寫“only a test”字符串,wq保存退出編輯狀態。  
  10.   
  11. -- 查看狀態  
  12. $ git status  
  13. # On branch master  
  14. # Untracked files:  
  15. #   (use "git add <file>..." to include in what will be committed)  
  16. #  
  17. #       17.5.0.0.0.md   --看到有紅顏色的一個新的文件還沒有提交上去,這一行的文件名顯示爲紅色。  
  18. nothing added to commit but untracked files present (use "git add" to track)  


添加文件add

git add 17.5.0.0.0.md添加單個文件,多個文件可以用空格來隔開,比如(git add 17.5.0.0.0.md 17.5.0.0.1.md 17.5.0.0.2.md),也可以使用git add -A添加所有的文件。

[javascript] view plain copy
 print?
  1.  --執行添加命令  
  2. $ git add 17.5.0.0.0.md  
  3.   
  4. --查看單個文件版本狀態  
  5. $ git status 17.5.0.0.0.md   
  6. # On branch master  
  7. # Changes to be committed:  
  8. #   (use "git reset HEAD <file>..." to unstage)  
  9. #  
  10. #       new file:   17.5.0.0.0.md  
  11. #  
  12.   
  13. --查看整個庫版本狀態  
  14. $ git status   
  15. # On branch master  
  16. # Changes to be committed:  
  17. #   (use "git reset HEAD <file>..." to unstage)  
  18. #  
  19. #       new file:   17.5.0.0.0.md  
  20. #  



手動用MarkdownPad打開C:\Documents and Settings\skyman\manual56\docs\Chapter_17\17.5.0.0.0.md,在裏面輸入中文字符串,保存退出。然後查看版本庫狀態,顯示綠顏色的表示已經緩存起來了,顯示紅顏色的是修改過的但是沒有緩存起來的。


[html] view plain copy
 print?
  1.   

(4) git commit,修改完之後,進行commit提交git commit -m "Test change", -m 是指定提交信息,必填項目

""內部表示註釋內容,即git修改內容。

[html] view plain copy
 print?
  1. $ git commit -am "Test chanage"  
  2. [master 3e96f90] Test chanage  
  3.  1 file changed, 1 insertion(+), 1 deletion(-)  
  4.    
  5. $ git status   
  6. # On branch master  
  7. # Your branch is ahead of 'origin/master' by 2 commits.  
  8. #  
  9. nothing to commit (working directory clean)  
  10. --顯示已經提交到本地版本庫了  



PPS:

介紹一下git pull

git pull即把代碼更新到本地,經常會遇到這種錯誤

error: Your local changes to 'c/environ.c' would be overwritten by merge.  Aborting.
Please, commit your changes or stash them before you can merge.

這個意思是說更新下來的內容和本地修改的內容有衝突,先提交你的改變或者先將本地修改暫時存儲起來。

處理的方式非常簡單,主要是使用git stash命令進行處理,分成以下幾個步驟進行處理。

a) 先將本地修改存儲起來

$ git stash
這樣本地的所有修改就都被暫時存儲起來 。是用git stash list可以看到保存的信息

其中stash@{0}就是剛纔保存的標記。

b)pull內容

暫存了本地修改之後,就可以pull了。

c)還原暫存的內容

$ git stash pop stash@{0}
系統提示如下類似的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
意思就是系統自動合併修改的內容,但是其中有衝突,需要解決其中的衝突

d)解決文件中衝突的的部分
打開衝突的文件,會看到類似如下的內容:

其中Updated upstream 和=====之間的內容就是pull下來的內容,====和stashed changes之間的內容就是本地修改的內容。碰到這種情況,git也不知道哪行內容是需要的,所以要自行確定需要的內容。

解決完成之後,就可以正常的提交了



git pull後再

(5)把已經修改的文件push到服務器,git push --tags  --push所以緩存到本地服務器的文件。

[html] view plain copy
 print?
  1. $ git push origin master    
  2. Counting objects: 13, done.  
  3. Delta compression using up to 2 threads.  
  4. Compressing objects: 100% (8/8), done.  
  5. Writing objects: 100% (10/10), 768 bytes, done.  
  6. Total 10 (delta 6), reused 0 (delta 0)  
  7. To [email protected]:mchdbagh/manual56.git  
  8.    e754e68..3e96f90  master -> master  



OK成功了,然後打開網址https://github.com/xxxxxx/blob/master/docs/Chapter_17/17.5.0.0.0.md去看提交的新內容,見圖片所示,新建立的文件17.5.0.0.0.md已經成功上傳到remote文件服務器了。

















發佈了97 篇原創文章 · 獲贊 74 · 訪問量 48萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章