Git 初級使用

TAGS: 工具使用


終于要敢寫寫東西了,歡迎指正!!!


一點點重要的Tip

所有的版本控制系統,只能跟蹤文本文件的改動。媒體文件內容不能追蹤,只能追蹤媒體文件屬性,如大小、時間等。

創建SSH連接Github

  1. 網上很多教程,但是有可能不完整,所以最好還是對照Github官網上的教程。

  2. 創建時遇到的問題
    問題1:參考鏈接

The authenticity of host 'github.com (192.30.253.113)' can't be established.RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?

啥?操作半天你說不能建立···一步步來的,哪兒錯老嘛!!!于是no。殊不知這里不用管,直接yes就到下一步,然后就等著成功就對了。! _ !

前期配置Git

參考鏈接

1. 查看配置

git config --list:列出當前配置項
重點關注nameemail

2. 修改配置

git config --global user.name Github用戶名
git config --global user.email Github注冊郵箱

使用

首先在Github新建一個代碼倉MyReponsitory。記得選取.gitignore。接下來:

1. 推薦直接拉取服務器代碼倉

git clone git@github.com:Github用戶名/代碼倉名.git

2. 要么本地創建代碼倉,再push到Github

  • cd 到根目錄
  • git init 初始化本地目錄為代碼倉。
  • git add . 或具體文件名. git開始追蹤本地文件。
  • git status 查看是否還有未提交的修改
  • git commit -m 描述 提交此次修改
  • git remote add origin git@github.com:用戶名/代碼倉名.git 把本地倉與Github遠程倉庫關聯
  • git pull origin master --allow-unrelated-histories將服務器數據先拉取到本地。
  • git push -u origin master 將本地更改推送到遠程服務器。
    最好還是先從服務器clone一個版本倉下來,然后往里面加東西,直接addcommit就行了。

3. 修改了文件內容

git status: 查看文件狀態
  staged:文件被暫存(commit了)
  modified, unstaged:文件被修改了但是沒有被暫存
  untracked:文件沒有被跟蹤
  commitpush前檢查一下,總是個好習慣。
  
git pull: 從服務器拉取最新的版本。push前總是保持本地倉和服務器一致,本地倉出問題好過服務器版本出問題,畢竟解決本地倉的沖突要容易的多。

git commit: 提交最新修改內容,盡量簡潔概括并包含你所有修改部分。

git push: 記住一定要先pull,上一步commit時沒做,此時也一定要做。

4. 添加.gitignore

vi .gitignore或者用文本編輯器打開(前提是要顯示隱藏文件)。在文件最后添加

# mac系統下用于存儲當前文件夾的一些Meta信息,不需要。
*.DS_Store 
# 忽略pods項目中的xcworkspace, 使用了CocoaPods,只需要上傳Podfile即可。
*.xcuserstate
UserInterfaceState.xcuserstate
# * 通配符;表示不對后綴.xcworkspace的所有文件追蹤
*.xcworkspace/
# / 目錄; 表示對所有名為xcuserdata的目錄及其下文件不追蹤
xcuserdata/
UserInterface.xcuserstate 
# 忽略Pods
Pods/
Podfile.lock

但是有時可能遇到.gitignore失效的情況,這種可能是因為已經commit了。對已經添加版本控制的文件再加入.gitignore是無效的,此時需要刪除下緩存。

// 刪除前總是先看一下清單,免得誤刪
git rm -n –cached 需要忽略的文件(夾)
// 執行刪除
git rm -r –cached 需要忽略的文件(夾)
// 告知服務器
git commit -m 刪除xx以移除版本控制
git push

這種方式也可以用來將指定文件(夾)移除版本控制。

想要移除本地文件版本控制?sudo rm -R .git即可
注意: .gitignore只能忽略那些原來沒有被track的文件。

6. 遇到的問題

  • Github中文件夾不能進入,不可用。使用git status看到子目錄狀態是untracked。可能因為子目錄也含有.git,刪除后回根目錄重新init一次

  • fatal: refusing to merge unrelated histories
    "git merge" used to allow merging two branches that have no common base by default, which led to a brand new history of an existing project created and then get pulled by an unsuspecting maintainer, which allowed an unnecessary parallel history merged into the existing project. The command has been taught not to allow this by default -- @Mark Amery
      以前可以直接合并兩個不同項目,現在需要加上--allow-unrelated-histories。大概是為了防止一個項目的版本歷史被pull到另一個項目上,導致覆蓋吧!原諒我只能看個淺意。
      不過我這里就是要合并,所以執行下面這句。
      git pull origin master --allow-unrelated-histories

  • Please make sure you have the correct access rights and the repository exists.
      問題已經提示很明顯了,可能是ssh密鑰匹配不上,或者是倉庫名出錯。

前者:執行ssh -v -t git@github.com檢查連接,匹配不上說明需要重新上傳rsa_pub,詳情戳Github官網
  可以通過ssh-keygen -E md5 -lf /Users/yangsong/.ssh/id_rsa.pu生成秘鑰的md5和Github上的md5直接對比。

后者:就需要檢查你的remote連接了。我就是倉庫地址出錯。可以在終端重新git remote add origin 倉庫地址或者vi .git/config,然后修改里面的url。url最好從Github上去復制。



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

推薦閱讀更多精彩內容

  • 聲明:這篇文章來源于廖雪峰老師的官方網站,我僅僅是作為學習之用 Git簡介 Git是什么? Git是目前世界上最先...
    橫渡閱讀 3,973評論 3 27
  • 上午在家打掃衛生。 下午女兒要去超市,想買點好吃的了,我也爽快的答應了。 到了超市不一會兒...
    于佳禾媽媽閱讀 305評論 1 3
  • 感謝志愿者們的辛勤付出,今晚恰好一位志愿者的手機摔壞了,連作業都只能請其他同學代交,其他志愿者二話不說將閱讀任務承...
    江夢柳_Joy小開醬閱讀 1,006評論 8 7
  • eclipse下載安裝 下載 官方下載地址:eclipse for mac,我選擇的是最新的j2ee版本64bit...
    JW_T閱讀 839評論 2 0