git工具使用

参考
https://help.coding.net/docs/host/git/installation.html  
https://www.jianshu.com/p/81143ef6c97f
//打开git终端

Git 分支管理
本地分支管理
$ git checkout -b learn-checkout  //创建并切换到分支
$ git branch learn-branch    //单独创建分支  新建一个名为『learn-branch』的分支
$ git branch      //创建完分支之后使用git branch命令查看分支
$ git checkout learn-branch    //使用git checkout 『分支名称』

分支与标签
$ git branch                   #显示所有本地分支
$ git checkout <branch/tag>    #切换到指定分支和标签
$ git branch <new-branch>      #创建新分支
$ git branch -d <branch>       #删除本地分支
$ git tag                      #列出所有本地标签
$ git tag <tagname>            #基于最新提交创建标签
$ git tag -d <tagname>         #删除标签

合并与衍合
$ git merge <branch>        #合并指定分支到当前分支
$ git rebase <branch>       #衍合指定分支到当前分支

远程操作
$ git remote -v                   #查看远程版本库信息
$ git remote show <remote>        #查看指定远程版本库信息
$ git remote add <remote> <url>   #添加远程版本库
$ git fetch <remote>              #从远程库获取代码
$ git pull <remote> <branch>      #下载代码及快速合并
$ git push <remote> <branch>      #上传代码及快速合并
$ git push <remote> :<branch/tag-name>  #删除远程分支或标签
$ git push --tags                       #上传所有标签

本地仓库

创建本地仓库
$ mkdir my_project   //创建项目目录
$ cd my_project
$ git init         //初始化库 //切换路径到目标目录,执行:$ git init命令
$ git clone https://e.coding.net/team-name/learn-git.git   //克隆远程仓库到本地

远程仓库
$ git remote add learn-git git@e.coding.net:coding/Coding-Feedback.git  //git remote add 『remote-name』『url』 
//『remote-name』是给远程仓库起的别名,一般是『origin』
$ git remote -v                   //git remote 命令来查看当前添加的远程仓库
$ git fetch 『remote-name』       //从远程仓库抓取数据到本地
$ git push learn-git master       //会将本地的仓库数据推送到远程仓库的『master』分支         git push 『remote-name』『branch-name』
$ git remote rename learn-git origin            //重命名远程仓库     把 learn-git 改成 origin
$ git remote rm origin                        //解除和远程仓库『origin』的关联

$ git add readme.txt
$ git add readme.txt learn_git.txt
$ git add .    //添加当前仓库里的所有文件   

$ git commit -m "wrote a readme and a learn_git file"            ///用git commit命令把文件提交到仓库,一次性会提交所有你已经添加的文件


Git 常用命令速查表
创建版本库
$ git clone <url>                  #克隆远程版本库
$ git init                         #初始化本地版本库
修改和提交
$ git status                       #查看状态
$ git diff                         #查看变更内容
$ git add .                        #跟踪所有改动过的文件
$ git add <file>                   #跟踪指定的文件
$ git mv <old><new>                #文件改名
$ git rm<file>                     #删除文件
$ git rm --cached<file>            #停止跟踪文件但不删除
$ git commit -m "commit messages"  #提交所有更新过的文件
$ git commit --amend               #修改最后一次改动
查看提交历史
$ git log                    #查看提交历史
$ git log -p <file>          #查看指定文件的提交历史
$ git blame <file>           #以列表方式查看指定文件的提交历史
撤销
$ git reset --hard HEAD      #撤销工作目录中所有未提交文件的修改内容
$ git checkout HEAD <file>   #撤销指定的未提交文件的修改内容
$ git revert <commit>        #撤销指定的提交
$ git log --before="1 days"  #退回到之前1天的版本
分支与标签
$ git branch                   #显示所有本地分支
$ git checkout <branch/tag>    #切换到指定分支和标签
$ git branch <new-branch>      #创建新分支
$ git branch -d <branch>       #删除本地分支
$ git tag                      #列出所有本地标签
$ git tag <tagname>            #基于最新提交创建标签
$ git tag -d <tagname>         #删除标签
合并与衍合
$ git merge <branch>        #合并指定分支到当前分支
$ git rebase <branch>       #衍合指定分支到当前分支
远程操作
$ git remote -v                   #查看远程版本库信息
$ git remote show <remote>        #查看指定远程版本库信息
$ git remote add <remote> <url>   #添加远程版本库
$ git fetch <remote>              #从远程库获取代码
$ git pull <remote> <branch>      #下载代码及快速合并
$ git push <remote> <branch>      #上传代码及快速合并
$ git push <remote\> :<branch/tag-name\>  #删除远程分支或标签
$ git push --tags                       #上传所有标签

 git push origin :refs/tags/2.6.2    //删除远程标签

git branch -a             //查看项目分支(包括本地和远程)

git branch -d 分支名        //删除本地分支

git push origin –delete 分支名     //删除远程分支

git checkout branchName   //切换到新分支

git branch branchName     //创建新分支

git checkout -b branchName    // 创建 切换到新分支

使用 Git 管理文件时,每次结束工作前请依次执行git addgit commitgit push命令将文件推送到 CODING 远程仓库。

 git 更新本地代码

1. 本地代码未修改,只有master分支,直接更新
git pull
但前提必须是本地的代码没更改过。比如,你提交了代码到 github 后,随后别人也提交代码到 github,然后你需要更新别人提交的代码到你本地,
就可以直接使用该命令。假如你提交代码后再修改过你本地的代码,就会产生冲突,直接使用该命令会失败的。

2. 本地代码有修改,多分支。
复制代码
//切换到master分支
git checkout master

//更新master分支
git pull

//切换到自己的分支isso
git checkout isso

//把master分支合并到自己分支
git merger master
复制代码
当有多条分支时,一般都是各人有各自属于自己的分支,然后master是主分支。大家都需要把自己的分支先合到master分支。 

所以,如果别人提交且合并了他的代码到master分支,就需要先更新master分支,然后再把别人的代码合并到自己的分支。这仅仅是更新自己本地代码可能出现的一种情况。

3. 本地代码有修改,只有master分支,直接覆盖本地代码

//重置索引和工作目录
git reset --hard//更新代码
git pull
这种属于强制更新自己本地的代码,直接覆盖,本地的任何修改都不会保留。 

4.本地代码有修改,直接覆盖远程仓库代码

// 覆盖isso分支
git push --force origin isso// 覆盖主分支
git push --force origin master
 这种是更新远程仓库的代码,直接强制把自己本地现在的代码推到远程仓库,会直接把远程仓库的的覆盖掉。

 

posted @ 2020-03-09 21:05  玥茹苟  阅读(330)  评论(0编辑  收藏  举报