初入公司致讥,應(yīng)該這樣使用Git

NightRain.png

基本使用

項目已在遠(yuǎn)程倉庫

1.克隆項目代碼(默認(rèn)在主分支上)

  • 使用命令:git clone 項目遠(yuǎn)程地址
  • 使用方式:通過cmd進(jìn)入存放項目本地目錄毕谴,然后執(zhí)行命令
  • 示例命令:
G:\test>git clone 項目遠(yuǎn)程地址
Cloning into 'ProjectDemo'...
remote: Enumerating objects: 6639, done.
remote: Counting objects: 100% (6639/6639), done.
remote: Compressing objects: 100% (4583/4583), done.
remote: Total 6639 (delta 2891), reused 4792 (delta 1747)/s
Receiving objects: 100% (6639/6639), 70.59 MiB | 1.95 MiB/s, done.
Resolving deltas: 100% (2891/2891), done.
Checking out files: 100% (3415/3415), done.

2.查看遠(yuǎn)程分支和本地分支狀態(tài)(注意要進(jìn)入項目目錄)

  • 使用命令:git branch //查看本地分支狀態(tài)
  • 使用命令:git branch -a //查看遠(yuǎn)程分支狀態(tài)
  • 示例命令:
//查看本地分支狀態(tài)
G:\test\ProjectDemo>git branch
* master
//查看遠(yuǎn)程分支狀態(tài)
G:\test\ProjectDemo>git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev-test
  remotes/origin/master
  remotes/origin/test1
  remotes/origin/test2

3. 創(chuàng)建本地分支并跟蹤遠(yuǎn)程分支(dev-test為分支名)

  • 使用命令:git checkout -b dev-test origin/dev-test
  • 注意事項:最好本地分支和遠(yuǎn)程分支名稱相同
  • 命令示例:
G:\test\ProjectDemo>git checkout -b dev-test origin/dev-test
Checking out files: 100% (1291/1291), done.
Switched to a new branch 'dev-test'
Branch 'dev-test' set up to track remote branch 'dev-test' from 'origin'.

4. 查看分支跟蹤情況

  • 使用命令:git branch -vv
  • 命令示例:
G:\test\ProjectDemo>git branch -vv
* dev-test d62efae [origin/dev-test] ......
  master    e1b4220 [origin/master] ......

第一次推送到遠(yuǎn)程

1.初始化倉庫

  • 在遠(yuǎn)程創(chuàng)建一個空倉庫
  • 進(jìn)入項目目錄使用指令git init初始化本地倉庫
E:\AndroidProject\BaseAndroid>git init
Initialized empty Git repository in E:/AndroidProject/BaseAndroid/.git/

2.配置倉庫用戶信息

  • 使用指令git config user.name "你的名稱" 缎玫,git config user.email "你的郵箱"
  • 示例:
//用戶名
E:\AndroidProject\BaseAndroid>git config user.name "NightRain"
//用戶郵箱(和遠(yuǎn)程倉庫綁定郵箱對應(yīng))
E:\AndroidProject\BaseAndroid>git config user.email "你的郵箱"

3.將本地項目添加到本地倉庫

  • 使用指令:git add .
  • 命令示例:
E:\AndroidProject\BaseAndroid>git add .

4.將本地項目提交到本地倉庫

  • 使用指令:git commit -m "提交說明"
  • 命令示例:
E:\AndroidProject\BaseAndroid>git commit -m "初始化項目"
[master (root-commit) f43c196] 初始化項目
 40 files changed, 809 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 .idea/.gitignore
 create mode 100644 .idea/compiler.xml
 create mode 100644 .idea/gradle.xml
 create mode 100644 .idea/jarRepositories.xml
 ......

5.關(guān)聯(lián)遠(yuǎn)程倉庫地址

  • 使用指令:git remote add origin
  • 命令示例:
E:\AndroidProject\BaseAndroid>git remote add origin https://github.com/NightRainDream/BaseAndroidProject

6.推送項目到遠(yuǎn)程倉庫

  • 使用指令:git push -u origin master
  • 命令示例:
E:\AndroidProject\BaseAndroid>git push -u origin master
Enumerating objects: 73, done.
Counting objects: 100% (73/73), done.
Delta compression using up to 8 threads
Compressing objects: 100% (54/54), done.
Writing objects: 100% (73/73), 132.13 KiB | 5.29 MiB/s, done.
Total 73 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), done.
To https://github.com/NightRainDream/BaseAndroidProject
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

常用指令

基本配置相關(guān)

命令 說明
git config --global user.name "your name" 修改Git昵稱(全部倉庫)
git config user.name "your name" 修改Git昵稱(當(dāng)前倉庫)
git config --global user.email "your name" 修改Git郵箱(全部倉庫)
git config user.email "your name" 修改Git郵箱(當(dāng)前倉庫)
git config user.name 查看Git昵稱
git congig user.email 查看你Git郵箱

分支相關(guān)

命令 說明
git branch 查看本地分支
git branch -a 查看所有本地和遠(yuǎn)程分支
git branch -d dev 刪除本地分支dev
git branch -vv 查看本地分支和遠(yuǎn)程分支跟蹤情況
git branch new_dev 創(chuàng)建一個名為new_dev的分支
git checkout new_dev 切換到new_dev分支
git checkout -b new_dev 創(chuàng)建new_dev分支并切換到此分支
git checkout -b dev origin/dev 創(chuàng)建dev分支并跟蹤遠(yuǎn)程dev分支
git merge dev 將dev分支合并到當(dāng)前分支

標(biāo)簽相關(guān)

命令 說明
git tag 查看所有標(biāo)簽
git tag v1.0.0 打v1.0.0標(biāo)簽
git show v1.0.0 查看v1.0.0標(biāo)簽信息

提交相關(guān)

命令 說明
git add . 將當(dāng)前目錄添加到git索引庫
git commit -m "提交說明" 將索引庫項目提交到本地倉庫
git status 查看項目狀態(tài)(是否有需要操作之類)

遠(yuǎn)程推送相關(guān)

命令 說明
git push 將本地倉庫推送到遠(yuǎn)程倉庫
git pull 從遠(yuǎn)處倉庫更新代碼到本地
git push origin v1.0.0 推送v1.0.0標(biāo)簽到遠(yuǎn)程倉庫
git push origin dev 將本地dev分支推送到遠(yuǎn)程倉庫
git push --set-upstream origin dev 將dev分支與遠(yuǎn)程dev分支進(jìn)行關(guān)聯(lián)
git remote show origin 查看遠(yuǎn)程倉庫地址
git remote set-url origin ....git 切換遠(yuǎn)程倉庫地址到....git
git fetch 更新遠(yuǎn)程分支(在遠(yuǎn)程建立分支算行,本地沒有顯示)

SSH配置

查看是否配置SSH

  • 進(jìn)入Git Bash Here執(zhí)行cd ~/.ssh如下:
//未創(chuàng)建
$ cd ~/.ssh
bash: cd: /c/Users/NightRain/.ssh: No such file or directory
//已創(chuàng)建
$ cd ~/.ssh
電腦名@DESKTOP-FJBJ7UB MINGW64 ~/.ssh
  • 執(zhí)行ll查看已創(chuàng)建SSH密鑰,如下:
電腦名@DESKTOP-FJBJ7UB MINGW64 ~/.ssh
$ ll
total 5
-rw-r--r-- 1 電腦名 197121 2610  2月  3 00:07 id_rsa
-rw-r--r-- 1 電腦名 197121  575  2月  3 00:07 id_rsa.pub

創(chuàng)建SSH

  • 執(zhí)行ssh-keygen -t rsa -C '你的郵箱'刨仑,如下:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/電腦名/.ssh/id_rsa):
Created directory '/c/Users/電腦名/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/電腦名/.ssh/id_rsa
Your public key has been saved in /c/Users/電腦名/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:VdnA8qrEMURmAVSPiBpSJ1Pq2yj/q6PRvBGwZqQ74iw 郵箱
The key's randomart image is:
+---[RSA 3072]----+
|  +.o.o+*. .o+   |
| . = . +.o..o .  |
|o.o . ... oo     |
|o= o    o.  .    |
|oo+    .So .     |
|o+ =    o .      |
|* * .  . .       |
|E=.o    .        |
|o+++o.           |
+----[SHA256]-----+
  • 執(zhí)行t ~/.ssh/id_rsa.pub 查看生成的公鑰郑诺,如下:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC5ShALaLp0CIQM4KzLEFyzQakMBlTZxk0RTylEJGD7zuSQwsZJU4osP+zJQKnafOZiLlP5OrUXJeoYVlVwuxpvEgYx+A15Hn1xZPUwPwR4E0txu07z1EtO2vhPYpE5Et/viN6S0hCTqiMc0qvDBdT5FMmBN6D4F/qevmy4FJ+BGpv1RdCLj/DAQyTT8uHcmc1UyjLgZzA0tCjnIc+g/M7rcG1FOiRAaanQsn7xHu+LVnvRN1IACANHLxPsHBzVyVZik3N2/+p7j6AH3CL/GouAkDLLpcS+50qkuKvSHdyqgOMnYyDZ56sqqXpjyR4vDbmlBK7Q1vc32DnYX+h9715/kiwuNItjORleztuN8QyYbkU16woxigz+A9h7FujxD4ipJXKUwNCgRiaGR7Jogx5RHZz/+jLiGH6lNMYMVdukkNSrWjVWZvocAthhL3pQJIwfoD3bCzZvNoyWQCx/xmAEk3zNbmI8xhZjMdB9kupLacN0IHn8PNCB4Uwkm782sT0= Night.Qin@outlook.com

測試是否配置成功(Github)

  • 執(zhí)行ssh -T git@github.com 根據(jù)提示查看是否配置成功

常見問題

為什么將本地分支推送到遠(yuǎn)程后無法直接推送代碼?

答:需要將本地分支和剛才推送的遠(yuǎn)程分支進(jìn)行關(guān)聯(lián)后才可以推送杉武。使用git push --set-upstream origin dev即可將本地dev分支和遠(yuǎn)程dev分支進(jìn)行關(guān)聯(lián)辙诞。

為什么將本地分支推送到遠(yuǎn)程后無法直接推送代碼?

答:需要將本地分支和剛才推送的遠(yuǎn)程分支進(jìn)行關(guān)聯(lián)后才可以推送轻抱。使用git push --set-upstream origin dev即可將本地dev分支和遠(yuǎn)程dev分支進(jìn)行關(guān)聯(lián)飞涂。

為什么遠(yuǎn)程有了新的分支,本地使用git branch -a無法查看到祈搜?

答:使用git fetch更新一下即可较店。

為什么Git所關(guān)聯(lián)的遠(yuǎn)程賬號在推送代碼的時候不顯示遠(yuǎn)程賬號的頭像和昵稱?

答:可能是因為本地Git所設(shè)置的郵箱可關(guān)聯(lián)遠(yuǎn)程賬號的郵箱不一致容燕。修改本地Git的郵箱與遠(yuǎn)程賬號的郵箱一致即可梁呈。

Window配置SSH一直失敗蘸秘?

答:在Github配置SSH公鑰后官卡,使用ssh -T git@github.com一直提示Host key verification failed.。試著執(zhí)行ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts后在查看

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末醋虏,一起剝皮案震驚了整個濱河市寻咒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌颈嚼,老刑警劉巖毛秘,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡叫挟,警方通過查閱死者的電腦和手機艰匙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來霞揉,“玉大人旬薯,你說我怎么就攤上這事∈手龋” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵硕舆,是天一觀的道長秽荞。 經(jīng)常有香客問我,道長抚官,這世上最難降的妖魔是什么扬跋? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任卦洽,我火速辦了婚禮魄懂,結(jié)果婚禮上钮蛛,老公的妹妹穿的比我還像新娘富俄。我一直安慰自己规肴,他們只是感情好七芭,可當(dāng)我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布秦踪。 她就那樣靜靜地躺著懂鸵,像睡著了一般卒煞。 火紅的嫁衣襯著肌膚如雪痪宰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天畔裕,我揣著相機與錄音衣撬,去河邊找鬼。 笑死扮饶,一個胖子當(dāng)著我的面吹牛具练,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播甜无,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼扛点,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了毫蚓?” 一聲冷哼從身側(cè)響起占键,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎元潘,沒想到半個月后畔乙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡翩概,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年牲距,在試婚紗的時候發(fā)現(xiàn)自己被綠了返咱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡牍鞠,死狀恐怖咖摹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情难述,我是刑警寧澤萤晴,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站胁后,受9級特大地震影響店读,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜攀芯,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一屯断、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧侣诺,春花似錦殖演、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至阻星,卻和暖如春朋鞍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背妥箕。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工滥酥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人畦幢。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓坎吻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宇葱。 傳聞我的和親對象是個殘疾皇子瘦真,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容

  • (預(yù)警:因為詳細(xì),所以行文有些長黍瞧,新手邊看邊操作效果出乎你的預(yù)料) 一:Git是什么诸尽? Git是目前世界上最先進(jìn)的...
    axiaochao閱讀 1,927評論 1 8
  • 原文地址主要用到的命令: git config user.name 設(shè)置用戶名 git config user....
    AFinalStone閱讀 465評論 0 2
  • 聲明:這篇文章來源于廖雪峰老師的官方網(wǎng)站,我僅僅是作為學(xué)習(xí)之用 Git簡介 Git是什么印颤? Git是目前世界上最先...
    橫渡閱讀 3,946評論 3 27
  • 如何關(guān)聯(lián)遠(yuǎn)程庫您机? 1.新建本地庫 2.通過git官網(wǎng)新建遠(yuǎn)程庫 3.輸入指令: git remote add or...
    諸子大人閱讀 16,420評論 1 9
  • Git 是目前最流行的分布式版本控制系統(tǒng)之一。 版本控制指的是,記錄每次版本變更的內(nèi)容和時間等細(xì)節(jié)际看,保留各版本之間...
    神齊閱讀 1,409評論 0 7