git逼格指南,技術貼

git是一款開源的分布式版本控制工具,在世界上所有的分布式版本控制工具中,git是最快、最簡單、最流行的。

git的作者是大神,Linux之父:Linus Benedict Torvalds。

git與Github的關系?
git是一個版本控制工具
github是一個用git做版本控制的項目托管平臺

有什么用?
一,GIT本地開發
二,GIT團隊開發操作

簡言之,這是一個程序員的逼格倍增的神器~~

git操作.png

一,Git本地操作命令指南:
GIT命令行幫助

git help :git指令幫助手冊

查看其他指令的做法:git help其他指令

git config :git的配置信息相關(修改的是.git/config文件)

配置用戶名:git config“user.name”
用戶名(用于跟蹤修改記錄)

配置郵箱:git config“user.email”郵箱(用于多人開發間的溝通)

查看配置信息:git config–l

編輯配置信息:git config–e(用vim編輯,:wq是退出vim編輯器)

設置指令的別名:git configalias.別名 原指令名稱

設置帶參數指令的別名:git configalias.別名 “原指令名稱 參數”

將此設置應用到整個系統中:git config––global

  1. 創建代碼庫 & 配置個人信息

1> 創建代碼倉庫
$ git init

2> 配置用戶名和郵箱
$ git config user.name manager
$ git config user.email manager@gmail.com

  • 以上兩個命令會將用戶信息保存在當前代碼倉庫中

3> 如果要一次性配置完成可以使用一下命令
$ git config --global user.name manager
$ git config --global user.email manager@gmail.com

  • 以上兩個命令會將用戶信息保存在用戶目錄下的 .gitconfig 文件中

4> 查看當前所有配置
$ git config -l

  1. 實際開發
    1> 創建代碼,開始開發
    $ touch main.c
    $ open main.c

2> 將代碼添加到代碼庫

查看當前代碼庫狀態

$ git status

查看某個文件的狀態:git status文件名

查看當前路徑所有文件的狀態:git status

將文件添加到代碼庫

//保存某個文件到暫緩區
$ git add main.c

將修改提交到代碼庫

$ git commit -m "添加了main.c"

提示:

  • 在此一定要使用 -m 參數指定修改的備注信息
  • 否則會進入 vim 編輯器,如果對vim不熟悉,會是很糟糕的事情

將當前文件夾下的所有新建或修改的文件一次性添加到代碼庫

$ git add .

3> 添加多個文件
$ touch Person.h Person.m
//將工作區的文件保存到暫緩區
$ git add .
//將暫緩區的文件提交到當前分支
//提交某個文件到分支:git commit -m ”注釋”
文件名
//保存當前路徑的所有文件到分支:git commit -m ”注釋”
$ git commit -m "添加了Person類"
$ open Person.h
$ git add .
$ git commit -m "增加Person類屬性"

  • 注意 使用git時,每一次修改都需要添加再提交,這一點是與svn不一樣的

git 的重要概念及工作原理

工作區
暫存區(staged)
分支(HEAD)

  1. 別名 & 日志

$ git config alias.st status
$ git config alias.ci "commit -m"

除非特殊原因,最好不要設置別名,否則換一臺機器就不會用了

查看所有版本庫日志

$ git log

查看指定文件的版本庫日志

$ git log 文件名
查看當前路徑所有文件的修改日志:git log
用一行的方式查看簡單的日志信息:git log––pretty=oneline
查看最近的N次修改:git log–N(N是一個整數)

配置帶顏色的log別名

   git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

提示:在git中,版本號是一個由SHA1生成的哈希值

git diff :查看文件最新改動的地方

查看某個文件的最新改動的地方:git diff文件名

查看當前路徑所有文件最新改動的地方:git diff

  1. 版本號,讓我們在任意版本之間穿梭

回到當前版本,放棄所有沒有提交的修改

//git reset :版本回退(建議加上––hard參數,git支持無限次后悔)
//回退到上一個版本:git reset––hard HEAD^
//回退到上上一個版本:git reset––hard HEAD^^
//回退到上N個版本:git reset––hard HEAD~N(N是一個整數)
//回退到任意一個版本:git reset––hard 版本號(版本號用7位即可)
//git reflog :查看指令使用記錄(能夠查看所有的版本號)
$ git reset --hard HEAD

07.刪除
git rm:刪除文件(刪完之后要進行commit操作,才能同步到版本庫)

08.上傳遠程倉庫
git pull:下載遠程倉庫的最新信息到本地倉庫
git push:將本地的倉庫信息推送到遠程倉庫

二,GIT團隊開發操作

  1. 建立代碼倉庫(專門用于團隊開發的代碼倉庫)

切換目錄

$ cd /Users/Desktop/git演練/公司/weibo

建立空白代碼庫(專門用于團隊開發)

$ git init --bare

  1. 項目經理準備項目(前奏)

切換目錄

$ cd /Users/Desktop/git演練/經理

"克隆"代碼庫到本地

$ git clone /Users/Desktop/git演練/公司/weibo/

個人信息配置(因為要演示一臺機器上的多人協作,日常開發可以忽略)

$ git config user.name manager
$ git config user.email manager@163.com

.gitignore

.gitignore可以指定哪些文件不納入版本庫的管理

參考網址:https://github.com/github/gitignore
顯示隱藏文件
https://github.com/github/gitignore/blob/master/Objective-C.gitignore

命令行中進入與.git同級的目錄

$ cd /Users/Desktop/git演練/經理/weibo

將以下命令一次性粘貼到命令行中

echo -e "# Xcode

build/
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
//# CocoaPods
//#
//# We recommend against adding the Pods directory to your .gitignore. However
//# you should judge for yourself, the pros and cons are mentioned at:
//# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control

//# Pods/" > .gitignore

將.gitignore添加到代碼庫

$ git add .gitignore

  1. 創建項目
    提交同時"push"到遠程代碼倉庫

  2. 新人加入
    比如:
    張三加入開發
    git clone 共享代碼庫的地址修改代碼—>
    git commit —>git push
    注意:
    同個件的共享同個件共享時發代碼沖突
    創建新件的共享
    storyboard的共享
    靜態庫的共享(不需要像svn 樣執 add命令)
    ...

  3. 分布式的代碼庫 - 僅供參考
    由于git是分布式的,任何一臺計算機上都保留有完整的代碼庫的內容,因此可以把團隊開發的代碼庫放在任何位置

搭建遠程倉庫的途徑
自己搭建一個git服務器:費時費力
在GitHub上托管項目:公開項目免費、私有項目收費,很多第三方開源項目
在Oschina上托管項目:完全免費,在國內訪問速度快(推薦使用)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • (一) 每次都要運行一遍程序的計算器 input() 與 raw_input() 使用input和raw_inpu...
    TianAff閱讀 281評論 1 3
  • 每當員工出現問題的時候,第一反應就是反應上級,如果上級接著給出答案的話,這樣員工就不會動腦,遇到事情先想到的就是問...
    Ding欣欣閱讀 129評論 0 0
  • 文/高煉 排隊等候時,掏出Kindle,點開已讀很久的二月河巨作《雍正皇帝》,二月河帝王系列總共包含三部,分別是《...
    寒舍閱獨閱讀 935評論 0 3
  • 昏暗的路燈下,我獨自站在侯車亭,看著來來往往晃眼的車流,突然很想寫點文字。 2017年7月25日 星期二 ...
    陳家小瑞a筱瑞讀書閱讀 266評論 0 0