Git操作簡記

前言

用習慣簡書之后大二很長的一段時間都沒有碰git了,比較重要的安卓代碼被我打成壓縮包保存了幾個版本,雖然說每次打包都是確保在手機上運行并且確保沒有bug的前提下進行的,但之后絕逼不會再去解壓以前的壓縮包來看,這就失去了當初保存來為了日后回顧的意義。好吧,假期也過了大半才又開始學會這方面的知識,這回為了不像大一那樣學了不用過久就忘所以還是做點筆記的好。

操作步驟

第一次操作的需要配置用戶名(git config --global user.name "你的名字")和用戶的郵箱(git config --global user.emil "你的郵箱")。
在本地創建的工程想要進行版本控制就在該項目的文件夾下面進行初始化操作(git init)
然后add然后commit巴拉巴拉

git clone
ls -al
git status
git add .
git commit -m ""
git pull
git push origin

基礎操作

  • 初始化倉庫
git init
  • 查看倉庫的狀態
git status
  • 向緩存區添加文件
git add README.md    #添加指定文件名的文件
git add .          #一次性添加所有文件
  • 保存倉庫的歷史記錄
git commit -m "添加一句你想要說的話"
git commit    #添加多行說明,第一行簡述、第二行空格、第三行詳細內容
git commit -am    #也可以添加文件的同時提交歷史紀錄
git commit --amend    #修改上一條提交的消息
  • 查看提交日志
git log
git log --pretty=short    #只顯示第一行
git log README.md    #只顯示指定目錄或文件
git log -p        #顯示文件的改動
git log --graph    #以圖標的方式查看分支
  • 查看文件前后的區別
git diff
git diff HEAD    #查看工作樹和HEAD指向提交的差別

分支操作

  • 查看、創建、刪除分支
git branch
git branch -a        #同時顯示本都and遠程的倉庫信息
git branch 分支名    #創建分支
git branch -b 分支名    #刪除分支
  • 切換分支
    對分支進行提交稱為培育分支
git checkout 分支名
git checkout -b 分支名    #創建并切換分支
git checkout -        #返回上一個分支
git checkout 文件名.后綴    #切換到最初的版本
  • 合并分支
git merge 需合并的分支名        #將需要合并的分支合并到當前分支
git merge --no-ff 需合并的分支名    #在歷史記錄中明確記錄本次分支合并需加上--no-ff
  • 壓縮歷史
    在合并分支之前如果發現有拼寫錯誤,修改后又不想占用歷史提交記錄的可選擇壓縮
#選定當前分支中包含HEAD在內的兩個最新的歷史紀錄將要刪除記錄的pick改為fixup
git rebase -i HEAD~2    

#可以創建更線性的提交歷史,就是可與把分支的工作合并到主分支上
#合并之后的分支在主分支的最頂端
#想要更新可以使用(git rebase 分支名)命令
git rebase master    #講當前分支合并到master分支
  • 回溯歷史版本
git reset --head 哈希值    #哈希值通過日志查出
git reset --hard HEAD~1  
git revert 哈希值前幾位

遠程倉庫

  • 添加遠程倉庫,將本地項目與遠程關聯。
#將遠程倉庫的名稱(git@github.com:用戶名/項目名.git)設置為origin(標識符)
git remote add origin git@github.com:用戶名/項目名.git
  • 推送至遠程倉庫
    -u在推送的同時將origin倉庫的master分支設置為本地倉庫當前分支的upstream(上游)
git push    #將當前的分支提交上去
#第四個參數可寫成 (本地倉庫名:遠程倉庫名) 的形式,一致情況下寫一個
git push 遠程倉庫名 分支名或者tag名    #(例:git push origin master)
git push -u origin 分支名    #推送至mster以外的分支
git push origin :遠程分支名    #刪除遠程分支
  • 從遠程倉庫獲取
#自動將origin設置成該遠程倉庫的標識符
git clone git@github.com:用戶名/項目名.git
git checkout -b 分支名 origin/分支名    #獲取遠程的分支
  • 獲取最新的遠程倉庫分支
git pull    #因為你不知道你本地的代碼是否是新的,所以push前最好先pull
  • 忽略文件
    創建項目時選中.gitignore模板,格式為
# 注釋
* 忽略的文件

方便人類的操作

首先Git有一個叫做git config的工具,專門用來配置或讀取相應的工作環境變量,這些變量存放在三個文件中。

  • /etc/gitconfig
    面向系統中所有的用戶,存放路徑為Git的安裝路徑 ,不過我并沒有找到。
    命令調用前綴:git config --system

  • ~/.gitconfig
    面向當前用戶,存放路徑為 c盤/用戶/用戶名/.gitconfig
    命令調用前綴:git config --global

  • 項目當前目錄下的.git/config
    面向當前項目,存放路徑.git/config
    在含有相同配置信息的情況下優先級秒殺前兩個(每一級別相同的配置會覆蓋上一級別)
    命令調用前綴:git config(比如某個項目中使用其他名字或者郵箱)

  • 配置代碼

git config --global color.status    #查看狀態時高亮顯示
git config --global color.branch    #分支名高亮顯示
git config --global color.ui auto    #自動高亮
git config --global 
  • 命令的別名配置
git config --global alias.新名字 原始命令
#例:git config --global alias.st status
  • 為正式版本打一個標簽
git tag -a v1.0 -m "每個正式版最好都打一個標簽"
git tag    #查看當前項目的所有標簽
git tag -d 標簽名    #刪除對應的標簽
git tag show 標簽名    #查看當前分支的具體信息

文件的基礎操作

  • 創建文件夾
mkdir 文件名
  • 創建文件
touch 文件名.后綴
  • 進入文件夾
cd 文件名
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,117評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,860評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,128評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,291評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,025評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,421評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,477評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,642評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,177評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,970評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,157評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,717評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,410評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,821評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,053評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,896評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,157評論 2 375

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,804評論 18 139
  • 以下內容是我在學習和研究Git時,對Git操作的特性、重點和注意事項的提取、精練和總結,可以做為Git操作的字典,...
    科研者閱讀 4,219評論 4 50
  • 如若有機會,一定要一起去看更多的風景,體驗更多的風土人情,享受更多的美食,將生活過在路上! 我會學很多道菜,每天都...
    世福閱讀 343評論 0 1
  • 一個偶然的契機 讓我們又重新聚在一起 兒時形影不離的小伙伴們 穿過二十年漫長的歲月 ...
    一剪芳蹤閱讀 334評論 5 6