【Git】常用指令及操作流程介绍

举报
东方曜 发表于 2020/10/28 11:14:56 2020/10/28
【摘要】 简要介绍Git常用指令及操作步骤

概念介绍:

工作区(workspace):当前操作工作空间,本地所能操作的文件系统

暂存区(index):工作区文件操作之后文件暂时存放的地方

本地仓库(local repository):本地版本控制仓库

远程仓库(remote repository):中心化仓库,项目工作人员共享,与本地仓库进行通信交互。


1、Git 配置

配置用户名以及电子邮箱,避免后续重复操作

git config --global uer.name 'username'

git config --global user.email 'username@huawei.com'

2、Git commit 配置文件

git config commit.template commit.template.txt  

模板信息写在commit.template.txt


3、Git ignore 配置文件

将.gitignore.txt放置项目文件夹下,如:

image.png

将需要忽略的文件名添加到.gitignore.txt文件里,git会自动忽略这些文件。

4、初始化Git

git init:进入到你想使用版本控制的项目目录,在终端使用git init 初始化git 存储库。


5、添加并提交

将工作区修改内容添加到暂存区:git add file

将暂存区内容提交到本地仓库:git commit -m "commit message"



6、添加远程仓库

git add remote repository_name(default as origin) git_url

7、推送本地仓库修改至远程仓库

git push origin master

8、状态检查

git status:查看当前文件所处的状态:已提交、已修改、未提交


9、Git拉取/同步主库下(分支)的内容

Eg:从origin库的develop分支拉取代码:Git pull origin develop

10、Git 查看远程分支

git branch -r

image.png

11、Git 查看远程库

git remote -v


12、修改last commit message

git commit --amend


13、撤销/回退上次或者前几次git commit

回退git commit,方法为git reset

参数默认为 --hard

参数设为--hard:回退版本且删除本地修改内容;

参数设为--soft:回退版本且不删除本地修改内容;

eg:

回退至上次commit版本且删除本地修改内容:git reset --hard HEAD~1

回退至前n次commit版本且删除本地修改内容:git reset --hard HEAD~n

回退至上次commit版本且不删除本地修改内容:git reset --soft HEAD~1

回退至前n次commit版本且不删除本地修改内容:git reset --soft HEAD~n


14、push本地仓库至master的内容

STEPs:

  • git remote 查看上游库,其中origin为主库,private为folk的私库

    image.png

  • 工作区(workspace)代码修改后,先执行git add 将修改内容添加到暂存区(index),然后执行git commit 将暂存区的内容提交到本地仓库(local repository)

  • git push 本地仓库的内容到上游私库private:git push -u private

  • 然后在主库里边新建merge request如下图所示:image.png

  • 如有合入冲突则需先解决冲突再合入。



15、撤销合并

git merge --abort: git可以在任何时间执行撤销操作,并且能够返回到最开始合并之前的状态;

当你解决完冲突,并且合并完成后发现一个错误,输入“git reset --hard”指令,系统就会回退到合并开始之前的状态。


16、git从本次仓库移除文件

如果你想要移除文件从git repository以及你的file system,可以使用:

git rm target_file.txt

git commit -m 'remote target_file.txt from git repository and file system'

如果你想从git repository 移除该文件但是不想从文件系统中删除该文件,可以使用以下操作:

git rm --cached target_file.txt

git commit -m 'remove target_file.txt only from git repository'  




17、分支管理

当你需要开发一个新的特性,或者修补bug,这个时候就需要创建一个分支进行开发。

bug分支or新特性分支是从Master分支中分出来的,在开发结束之后需要将bug特性或新特性合并到Master中。

image.png

STEPs:

  • 创建一个特性分支:git checkout -b new_feature master

  • 开发结束之后,合并至master分支:

    • 先切换至master:git checkout master

    • 合并操作:git merge --no-ff new_feature


    再合并至 develop分支:

    • 先切换至develop:git checkout develop

    • 合并操作:git merge --no-ff new_feature

    最后删除该新建分支

    git branch -d new_feature



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。