Git 小白教程

Git 的用法

一、配置SSH key

檢查是否已存在 SSH Key 打開電腦終端,輸入命令:ls -al ~/.ssh會出現(xiàn)兩種情況

  1. 終端出現(xiàn)文件 id_rsa.pubid_dsa.pub,則表示該電腦已經(jīng)存在SSH Key,此時可繼續(xù)輸入命令:
pbcopy < ~/.ssh/id_rsa.pub     

這樣你需要的SSH Key 就已經(jīng)復制到粘貼板上了,

  1. 終端未出現(xiàn) id_rsa.pubid_dsa.pub文件,表示該電腦還沒有配置SSH Key,此時需要輸入命令:
ssh-keygen -t rsa -C "Balopy@268xue.com"        
  1. 注意,這里的 Balopy@268xue.com 是你自己的郵箱,選一般的常用的郵箱即可,筆者當時用的是騰訊企業(yè)郵箱,就出現(xiàn)了一點小問題,所以不常用的郵箱一般不推薦
    默認會在相應路徑下(/your_home_path)生成id_rsa和id_rsa.pub兩個文件,此時終端會顯示:
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home_path/.ssh/id_rsa): 

連續(xù)回車即可,也可能會讓你輸入密碼,密碼就是你的開機密碼

此時再輸入命令:ls -al ~/.ssh 就會出現(xiàn) id_rsa.pubid_dsa.pub 兩個文件,然后重復情況一的步驟即輸入以下命令再進行步驟3即可:
pbcopy < ~/.ssh/id_rsa.pub

  1. 將SSH Key添加到GitLab中
    打開GitLab, 登錄,找到左邊欄有-->設置--SSH Key

二、基本配置

  1. Git 配置個人的用戶名稱和電子郵件地址:
 git config --global user.name "Balopy"
 git config --global user.email Balopy@268xue.com

如果用了 --global 選項,那么更改的配置文件就是位于你用戶主目錄下的那個,以后你所有的項目都會默認使用這里配置的用戶信息。
如果要在某個特定的項目中使用其他名字或者電郵,只要去掉 --global 選項重新配置即可,新的設定保存在當前項目的 .git/config 文件里。

  1. 文本編輯器
    設置Git默認使用的文本編輯器, 一般可能會是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的話,可以重新設置:

    git config --global core.editor emacs  
    
  2. 查看配置信息 git config --list

credential.helper=osxkeychain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
user.name=Balopy
user.email=Balopy@268xue.com
core.editor=vim
  
  1. 編輯配置信息 $ git config --edit --global
[filter "lfs"]
      clean = git-lfs clean -- %f
      smudge = git-lfs smudge -- %f
      process = git-lfs filter-process
      required = true
[user]
      name = Balopy
      email = Balopy@268xue.com
[core]
      editor = vim
[http]
      postBuffer = 524288000  (這個是內(nèi)存RAM,如果值不合適,會報錯:fatal: Out of memory, malloc failed (tried to allocate 889192448 bytes)
)
~                                                                                                                                                          
"~/.gitconfig" 12L, 239C


  1. 可以單獨查看某個配置信息:git config user.name

三、使用

1. git init 使用當前目錄作為Git倉庫,我們只需使它初始化。

Git 使用 git init 命令來初始化一個 Git 倉庫,Git 的很多命令都需要在 Git 的倉庫中運行,所以 git init 是使用 Git 的第一個命令。
在執(zhí)行完成 git init 命令后,Git 倉庫會生成一個 .git 目錄,該目錄包含了資源的所有元數(shù)據(jù),其他的項目目錄保持不變(不像 SVN 會在每個子目錄生成 .svn 目錄,Git 只在倉庫的根目錄生成 .git 目錄)。

  1. 使用我們指定目錄作為Git倉庫。
    git init Balopy_Git
  2. 在gitLab 上建一個工程,并 clone 到本地 Balopy_Git 文件夾下(這個位置自己隨意)。
2. clone 整個工程
git clone <版本庫的網(wǎng)址>
例: git clone git@git.268xue.com:ios/268Product.git

clone 到指定目錄

 git clone <版本庫的網(wǎng)址> <本地目錄名>
 例:git clone git@git.268xue.com:ios/268Product.git "268新demo"

3. add / commit

  1. 執(zhí)行 git add 《文件名》/ 注意:一定要加上/,表示目錄下所有文件,文件名最好不要用 漢字。
  2. 執(zhí)行 git remote add origin git@git.268xue.com:ios/yidadaOnline.git 遠程添加到git
  3. git commit -m "備注" 如果 git 不能提交 Pods,請查看 Pods 文件夾下有沒有 .git文件夾,如果有,刪除重新提交。
  4. 查看遠程倉庫
    如果想查看你已經(jīng)配置的遠程倉庫服務器,可以運行 git remote 命令。
    你也可以指定選項 -v,會顯示需要讀寫遠程倉庫使用的 Git 保存的簡寫與其對應的 URL。
$ git remote -v
origin  https://github.com/schacon/ticgit (fetch)
origin  https://github.com/schacon/ticgit (push)

4. git push / pull

  1. git push origin master 遠程推送到 gitLab。
  2. 打開本地目錄
  3. git pull 拉取遠程文件
open ~   打開根目錄
open ~/Downloads/ 打開根目錄下的文件夾
open .  打開當前文件夾
    

5. 創(chuàng)建分支 git branch

  1. git branch 查看分支,列出本地所有分支
  2. git branch -r 查看遠程分支
  3. git branch -a 查看本地和遠程分支
  4. git branch wang 創(chuàng)建分支,名稱wang
  5. git checkout wang 切換到指定分支 wang, 即將``wang`設置為當前操作分支
  6. git add newfile.txt 在當前分支下,添加文件
  7. git commit -m "添加文件" 提交到當前分支
  8. git push 推送到遠程分支
  9. git merge verson_1.0 當前分支合并 verson_1.0分支,如 master 合并 verson_1.0
  10. git branch -m wang version_1.0修改分支名 wang 為 version_1.0
  11. git push --set-upstream origin verson_1.0 將修改名字后的分支推送到遠程
  12. git branch --d version_1.0 刪除本地分支
  13. git push origin --delete version_1.0 刪除遠程分支
$ git branch  本地分支
  master      主干分支
$ git branch wang  創(chuàng)建分支

$ git branch
* master  * 表示當前操作分支
  wang    新創(chuàng)建分支
  
$ git checkout wang 指定分支
  master
* wang    分支,* 表示當前操作分支

$ git branch -r  遠程分支
  origin/master
  origin/wang

$ git add newfile.txt
$ git commit -m "添加文件"
$ git push     push 之后遠程自動創(chuàng)建分支 ·remotes/origin/wang·

$ git branch -a
  master
* wangchun
  remotes/origin/master
  remotes/origin/wang
  
$ git branch -m wang version_1.0   修改分支名 wang 為 version_1.0

$ git branch    查看本地分支
  master
* verson_1.0

$ git push --set-upstream origin verson_1.0  將修改名字后的分支推送到遠程

$ git branch -a
  master
* verson_1.0
  remotes/origin/master
  remotes/origin/verson_1.0

$ git checkout master 指定當前分支為master
$ git merge verson_1.0  當前分支 master 合并 verson_1.0分支

$ git push origin --delete verson.2
To git.268xue.com:ios/Test.git
 - [deleted]         verson.2

$ git branch -r
  origin/master   已刪除

  • Git 拉取遠程分支步驟 以及常用指令

    1. 新建一個空文件,文件名為Demo

       mkdir Demo
      
    2. 建立一個空的git倉庫

       git init 
      
    3. 關聯(lián)倉庫

       git remote add origin git@github.com:XXXX.git
      
    4. 把遠程分支拉到本地

       git fetch origin remotDeveloper(remotDeveloper為遠程倉庫的分支名)
      
    5. 在本地創(chuàng)建分支dev并切換到該分支

       git checkout -b Balopy(本地分支名稱) origin/remotDeveloper(遠程分支名稱)
      
    6. 把某個分支上的內(nèi)容都拉取到本地

       git pull origin remotDeveloper(遠程分支名稱)
      
    7. 提交到遠程分支

      git push origin HEAD:remotDeveloper (提交到原遠程分支)
      git push origin Balopy(提交到本地同名分支)
      
  • Git本地及遠程分支回退

    1. git本地版本回退
       git reset --hard HEAD^ 回退到上一個版本
       git reset --hard HEAD~3 回退到之前的3次提交后
       git reset --hard commit_id(可用 git log 查看)
      
    2. git遠程版本回退
      git push origin HEAD --force #強制將本地的HEAD與遠程服務器同步,刪除服務器回退前的提交
      #下面的命令也可以實現(xiàn)遠程版本回退
      git reset --hard HEAD~1
      git push --force
      

6. 刪除 git 文件

 git rm test.txt  (刪除本地文件)
 git rm -r test    (刪除本地文件夾)
 
 git rm -r --cached 寧夏共享_v_2017_10_10  (刪除遠程文件夾)
 git rm -r --cached .settings/  
 git rm -r --cached .classpath  
 git rm -r --cached .project  
  1. 可以通過命令 git remote show [remote-name] 查看某個遠程倉庫的詳細信息,比如要看所克隆的 origin 倉庫
git remote show origin
  1. 重命名文件 git mv <文件名> <文件名>
git mv README.md detail.txt

四. 刪除遠程 Tag 在Git v1.7.0之后

  1. 刪除Tag:
git push origin --delete tag <tagname>
  1. 在Git v1.7.0之前
    刪除遠程分支(推送一個空分支到遠程分支,其實相當于刪除遠程分支):
git push origin :<branchName>
  1. 刪除遠程 Tag(推送一個空tag到遠程tag,其實相當于刪除遠程tag):
git tag -d <tagname>

git 的更多用法請參考 Git教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,863評論 9 163
  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/。)是一個開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,963評論 0 13
  • 文/同軍 桃花 灼灼的面頰,仿佛 是那天邊的彩霞 讓我思念起海角 那孤單的戀人 玉蘭 你那含苞待放的樣子 讓我想起...
  • 心中寫下千千劇本 想告訴你的只有一句,好巧 你與我的主角同名
    d608f2d9a70c閱讀 363評論 0 0
  • 夕陽挽歌 文/小仲子 今天,在夕陽下 我家吃著酸菜魚。 我不關心別人家吃些什么, 我不關心。 今天,在夕陽還未完全...
    小仲子的原創(chuàng)文章閱讀 510評論 0 0

友情鏈接更多精彩內(nèi)容