基本使用
項目已在遠(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
后在查看