关于Git的配置及常用指令

        首先我们需要本地Git与远程GitHub连接的建立,只有将Git本地与远程的GitHub建立了连接以后我们本地的项目才能上传至远程服务器。

配置流程:

1、在git中配置全局的github账号信息:

git config --global user.name "username"
git config --global user.email "email"

2、Git终端的配置生成公钥文件,用来连接github。在git终端输入如下命令,然后连续敲3个回车即可:

ssh-keygen -t rsa -C "邮箱地址"

3、本地的配置

3.1 命令执行成功后,在本地电脑的名为.ssh的目录下找到名为id_rsa.pub的文件,打开这个文件后将里面的内容先复制下来;

3.2 这里还需要进行的一步操作是:为了防止git连接失败,可在.ssh文件夹下新建一个无后缀的名称为config的文件,在里面加入下面代码:

Host github.com
User git 
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

4、远程的配置进入到GitHub的官网,点击右上角图标下的settings:然后,在出现的左边的settings栏目中选择SSH and GPG Keys:然后在出来的左边的框框中选择 New SSH:其中Title可以随意写个名字,Key里面的内容需要将3.1步中复制的id_rsa.pub文件中的内容拷贝进去最后点击Add即可。

5、验证连接是否成功建立在git终端上输入如下命令:

ssh -T git@github.com

出现下述状态即为成功

Git简单介绍及常见命令

 

 

说明:

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:版本库或本地仓库
  • remote repository:远程仓库

一个简单的操作步骤:

git init     
git add .    
git commit -m "自定义提交信息"                

我们经常需要多个人共同完成一个项目,使用git可以很清晰明了的知道每个人上传的改动,因此我们需要配置好自己的用户名方便他人知道是谁更改了项目

1、查看用户名邮箱地址:

git config user.name
git config user.email

2、修改用户名和邮箱地址

git config --global user.name  "xxxx" 
git config --global user.email  "xxxx"               

3、如果我们是直接拉下代码库

git clone 链接名               

那么我们这个文件本身已经就是一个git文件了

4、如果我们是本地已有的文件去与远程代码库相关联的话,需要执行以下步骤:

cd 文件/                                       #即需要进入这个文件
git init                                       #将文件初始化为git文件
#与远程代码库添加链接
git remote add origin 代码库链接

#后续提交过程都一样

5、查看本地分支

git branch               

注:名称前面加* 号的是当前的分支

6、在本地创建新的分支并切换到该分支上,develop是分支名称

git checkout -b develop               

等价于

git branch develop       #在本地新创建develop分支
git checkout develop     #切换到新分支上

7、查看远程分支

git branch -r               

8、查看所有的分支(包括本地分支以及远程分支)

 git branch -a               

加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话)

9、查看本地分支与远程分支的映射关系

 git branch -vv               

10、重命名本地分支,oldbranch是旧的分支名称,newbranch是新命名的分支名称。

git branch -m <oldbranch> <newbranch>                

11、删除本地分支,branchname是要删除的分支名称。

git branch -d branchname               

12、删除远程分支,branchname是要删除的分支名称。

git branch -r -d origin/branchname
git push origin:branchname              #删除后还需要推送到远程

13、查看当前远程仓库信息

git remote -vv               

14、远程新建分支后,本地查看不到,使用以下命令同步

        远程新建分支,本地在未创建此新分支前便已经clone下来,现在本地查看分支时没有发现远程新建的 分支,使用如下命令更新,即可查看远程新建的分支

git remote                         #列出远程主机
git remote update origin --prune   #更新远程主机origin整理分支

15、当我们手动在远程分支上建立了一个新的分支,本地也有一个新的分支时,想要本地的新分支提交到这个远程的新分支上时,我们需要新建本地分支与远程分支的关联

git branch --set-upstream-to=origin/远程分支名 本地分支名               

eg:我的本地新建了一个分支 hui 远程新建了一个分支v2 把二者进行关联起来

git branch --set-upstream-to=origin/v2 hui
或者
git branch -u orgin/v2 hui
如果此时已经在本地hui分支上,可以直接
git branch -u origin/v2

输出:Branch 'hui' set up to track remote branch 'v2' from 'origin'.

16、如果本地有分支,但是远程没有分支对应,如何把本地的分支提交到远程

        假设有本地分支dev_name,远端没有该分支。此时push或者pull时,就不知道跟踪的是哪个分支?使用以下指令:

git push --set-upstream origin dev_name

        推送后远程也会出现dev_name分支,二者建立连接,注意此时的dev_name并不是你给远程分支起的名字,而是根据本地的分支推送上去的远程分支。后续push和pull时,就不用指定分支。

17、本地没有某个分支,远程仓库有此分支,怎样拉取远端分支代码到本地分支?

git checkout --track origin/branch_name

        此时,本地会自动创建分支branch_name与远端分支同名,并与远端分支branch_name关联。

        建议在弄分支的时候最好本地与远程的名字相同 便于区别

18、如果我们的本地文件已经关联了远程代码仓库,现在想关联新的代码仓库

        一种方法是将原来的远程仓库重新命名,另一种是删除原来的远程仓库;二者选其一,然后再新关联现在的远程仓库即可

#方法一:重命名原来的远程仓库
git remote rename origin old-origin

#方法二:删除原来的远程仓库
git remote rm origin

#上面的二选一,然后重新指定新的源
git remote add origin [url]

19、撤销本地分支与远程分支的映射关系

git branch --unset-upstream               

此时,当前的本地分支与远程分支解除关系

20、Git在本地新建分支后,可做远程分支关联。关联目的是,如果在本地分支下进行

pull 和push操作时 ,便不需要指定远程的分支。

21、新建本地分支与远程分支相关联

git checkout -b gpf origin/gpf    # 新建本地分支gpf与远程gpf分支相关联

22、执行push推送代码

git push origin 本地分支名:远程分支名               

23、本地分支push到远程分支

本地分支 v2 远程分支r2

如果没有建立关系时

git push origin v2:r2
或者
git push origin r2 #本地已经在v2分支上

如果已经建立关联 且目前的本地分支就在v2上 我们可以直接使用

git push               

24、多人合作提交代码

在我们自己提交之前如果有别人提交了代码 我们需要先进行合并代码 再进行push
方案一:合并远程分支代码
git fetch origin 

(git remote update有的时候可能需要同步一下远程和本地)

git merge origin/远程分支名  

方案二:合并远程分支代码

git pull origin 远程分支名

(PS:方案一和方案二选择一个即可)

执行push推送代码
git push origin 本地分支名:远程分支名

25、git fetch 与 git pull的区别

git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。

而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突。

26、git fetch的常见命令如下:

git fetch <远程主机名>             //这个命令将某个远程主机的更新全部取回本地,一般远程主机名为origin

git fetch <远程主机名> <分支名>    //注意之间有空格,返回的是特定分支的更新

例如:返回origin主机的main分支的更新 git fetch origin main

取回更新后,会返回一个FETCH_HEAD ,指的是某个branch在服务器上的最新状态,我们可以在本地通过它查看刚取回的更新信息:

git log -p FETCH_HEAD               

可以看到返回的信息包括更新的文件名,更新的作者和时间,以及更新的代码(红色[删除]和绿色[新增])。

我们可以通过这些信息来判断是否产生冲突,以确定是否将更新merge到当前分支。

如果我们需要合并的话执行以下代码

git merge FETCH_HEAD

总结:fetch合并到分支需要两步

git fetch origin main   //从远程主机的main分支拉取最新内容  
git merge FETCH_HEAD    //将拉取下来的最新内容合并到当前所在的分支中               

27、git pull的常见用法

将远程主机的某个分支的更新取回,并与本地指定的分支合并

git pull <远程主机名> <远程分支名>:<本地分支名>               

如果需要合并的本地分支就是目前的分支,则后面的本地分支名可以省略

28、还原代码至某个版本

git  reset --hard 版本号               

如果不加版本号,默认恢复上一个版本

29、合并分支到main上

首先切换到main分支上

git checkout main               

如果是多人开发的话 需要把远程main上的代码pull下来

git pull origin main               

然后我们把dev分支的代码合并到main上

git  merge dev               

30、查看状态

git status               

31、git配置的一些其他的命令

git status                                                # 查看状态
git log                                                   # 查看提交历史 
git config core.ignorecase false                          # 设置大小写敏感
git config --global user.name "YOUR NAME"                 # 设置用户名
git config --global user.email "YOUR EMAIL ADDRESS"       # 设置邮箱

32、git的提交

git diff                        # 查看变更内容 
git add .                       # 跟踪所有改动过的文件 
git add                   	    # 跟踪指定的文件 
git mv                          # 文件改名 
git rm                          # 删除文件 
git rm --cached                 # 停止跟踪文件但不删除 
git commit -m “commit message”  # 提交所有更新过的文件 
git commit --amend              # 修改最后一次提交               

33.查看历史

git log                         # 查看提交历史 
git log -p                      # 查看指定文件的提交历史 
git blame                       # 以列表方式查看指定文件的提交历史               

34.撤销

git reset --hard HEAD           # 撤消工作目录中所有未提交文件的修改内容
git reset --hard                # 撤销到某个特定版本 
git checkout HEAD               # 撤消指定的未提交文件的修改内容 
git checkout --                 # 同上一个命令 
git revert                      # 撤消指定的提交分支与标签               

35.分支与标签

git branch                       # 显示所有本地分支 
git checkout                     # 切换到指定分支或标签 
git branch                       # 创建新分支 
git branch -d                    # 删除本地分支 
git tag                          # 列出所有本地标签 
git tag                          # 基于最新提交创建标签 
git tag -a "v1.0" -m "一些说明"  # -a指定标签名称,-m指定标签说明 
git tag -d                       # 删除标签  
git checkout dev                 # 合并特定的commit到dev分支上 
git cherry-pick 62ecb3               

36.合并与衍合

git merge                       # 合并指定分支到当前分支 
git merge --abort               # 取消当前合并,重建合并前状态 
git merge dev -Xtheirs          # 以合并dev分支到当前分支,有冲突则以dev分支为准
git rebase                      # 衍合指定分支到当前分支               

37.远程操作

git remote -v                   # 查看远程版本库信息 
git remote show                 # 查看指定远程版本库信息 
git remote add                  # 添加远程版本库 
git remote remove               # 删除指定的远程版本库 
git fetch                       # 从远程库获取代码 
git pull                        # 下载代码及快速合并 
git push                        # 上传代码及快速合并                 

38.打包

git archive --format=zip --output ../file.zip main      # 将main分支打包成file.zip文件,保存在上一级目录 

git archive --format=zip --output ../v1.2.zip v1.2      # 打包v1.2标签的文件,保存在上一级目录v1.2.zip文件中 

git archive --format=zip v1.2 > ../v1.2.zip             # 作用同上一条命令               

39.远程与本地合并

git init                              # 初始化本地代码仓 
git add .                             # 添加本地代码 
git commit -m "add local source"      # 提交本地代码 
git pull origin main                  # 下载远程代码 
git merge main                        # 合并main分支 
git push -u origin main               # 上传代码 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以通过配置git的alias来设置常用命令的缩写。在全局配置中,可以使用以下命令来设置常用命令的缩写: git config --global alias.st status git config --global alias.br branch git config --global alias.ci commit git config --global alias.co checkout git config --global alias.lg log git config --global alias.pl pull git config --global alias.ps push git config --global alias.dt difftool git config --global alias.mt mergetool 这样,你就可以使用`git st`代替`git status`,`git br`代替`git branch`,以此类推。在特定的git项目目录中,你可以使用`git config --local -l`命令来查看该项目的配置项,包括配置的缩写命令。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [淘宝-git优化包 自动配置,只需要一个命令完成所有常用配置](https://download.csdn.net/download/ncxncx11/3558822)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [GIT ---- GIT命令行简写配置](https://blog.csdn.net/m0_38082783/article/details/116118254)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值