Git使用方法.md

git基本操作

git配置

  • 初次运行git时对git的配置

    git config --global user.name "<your github name>"
    
    git config --global user.email <your github email>
  • clone远程仓库的项目到本地

    git clone https://github.com/username/example.github.io.git

基本命令

git status // 查看当前项目下的状态
git remote -v //查看当前项目远程连接的是哪个仓库地址
git push -u origin master // 将本地的项目提交到远程仓库中

上传本地文件到远程仓库

git add .
git commit -c "commit information"
git push 

同步远程仓库到本地

git fetch origin master
git log -p master..origin/master 
git merge origin/master

上述命令首先从远程的origin的master主分支下载最新的版本到origin/master分支上然后比较本地的master分支和origin/master分支的差别最后进行合并。

如果想强制合并本地项目可使用以下命令

git fetch --all

git reset --hard origin/master

git fetch

如果项目中删除了一些文件,如何提交

git status 
git add . 
git rm your/file/path
git rm folder/path -r // 删除该目录下的所有文件(包括目录)

关联本地工程到github仓库

git init  //地仓库初始化,执行完后会在工程目录下生成一个.git的隐藏目录
git add .   //添加所有文件到本地索引,命令用法:git add <file>
git commit -m "My first commit operation"   //提交修改到本地仓库,-m选项添加提交注释
git remote add origin git@github.com:yihao31/yihao31.github.io.git  //添加远程仓库地址,保存在origin变量中
git push origin master   //按照前一条命令中origin给定的github地址推送到github仓库的master分支

使用github 管理分支

本地的分支管理

git branch dev  // 创建一个名为dev的分支
git checkout dev  //切换分支
git branch //查看当前已有的分支信息,并且在当前所在分支高亮 

为什么要创建分支?

比如某天想搞些新事情了,可以创建一个名为debug的分支在上面调试修改,这样如果失败了也不会影响到origin branch,而调试成功了也可以直接合并:
+ 建立一个新分支:

git checkout -b debug

+ 如果最后没有调试成功,可以选择留着debug分支,也许以后有灵感了再来弄(代码注释一定要做好),但是如果就不想弄了也可以选择删除分支: 
```
git brach -d debug
```
+ 如果算法调试成功了,想合并到master中:
```
git checkout master // 切换到master branch
git merge debug // 合并debug 到master
``` 

注意: 合并发生冲突是畅游的事情,因此一旦出现类似下面的提示,就得自己手动解决按冲突了

CONFLICT (content): Merge conflict in ...
Automatic merge failed; fix conflicts and then commit the result.

git会使用下面的格式提醒用户哪里有冲突:

<<<<<<<HEAD
 master原有的内容
=======
 debug分支中冲突的内容
>>>>>>>debug

如果比较感兴趣想看看git是怎么记录合并的,可以使用底下的命令:

git log --graph --pretty=oneline --abbrev-commit

Appendix

Local

git clone [email protected]:xiahouzuoxin/mp3-encode.git        # 在本地克隆一个github上仓库
git status                    # 获得当前项目的一个状况
git commit -a              # 将修改文件(不包括新创建的文件)添加到索引,并提交到仓库
git add [file]                # 添加文件到本地索引
git branch                  # 获得当前仓库中所有分支列表
git branch zx-branch                # 新建本地一个名为zx-branch的分支,主分支名为master
git branch -D branch_name     # 删除名称为branch-name的本地分支
git checkout master                  # 切回主分支,切换到zx-branch只需要将master改成zx-branch
git log                                        # 查看提交日志,有许多附加参数
    git log -p                               # 显示补丁
    git log --stat                          # 日志统计:那些文件修改了,修改了多少行内容
    git log --graph                       # 使日志看上去更漂亮
git diff master..zx-branch           # 比较两个分支之间差异
git remote rm origin                   #  删除origin变量地址

git branch [name]                 # 创建本地分支,注意新分支创建后不会自动切换为当前分支
git checkout [name]              # 切换到name分支
git checkout -b [name]          # 创建name分支并切换到name分支

git merge [name]                  # 将name分支与当前分支合并,name可以是远程分支,如origin/master

Remote:

git push origin [name]          # 创建远程name分支
git push origin:zx-branch      # 删除远程origin仓库地址的zx-branch分支 
git branch -r                         # 获得当前仓库中所有分支列表,即查看远程分支

猜你喜欢

转载自blog.csdn.net/weixin_40373708/article/details/80463976