【Git 】命令总结记录

之前都是用TortoiseGit 提交代码到GitHub,发现会遇到各种问题,没有直接在git Bash中操作方便, 用到了一些git命令,做一下记录。

一、提交代码

1、提交代码到本地库中
git commit -m '描述内容'
2、拉取该分支下的内容,与自己在本地库改写的合并
git pull origin <分支名称>
3、提交代码到github上
git push origin <分支名称>

二、合并代码

1、查看所有分支(其中带 * 号的:当前使用分支)
git branch -a
2、切换分支
git checkout <分支名称>
3、合并某分支到当前分支:
git merge <分支名称> : 把develop 合并到master–> git merge develop
4、提交合并的代码 :
git pull :拉取当前仓库的代码
git push origin <分支名称> 合并提交 到主分支上

other

用到的git命令:

创建分支:

git branch <分支名称>

查看所有分支

git branch -a

切换分支

git checkout <分支名称>

合并某分支到当前分支:

git merge <分支名称>

创建+切换分支:

git checkout -b <分支名称>

撤销 / 回滚

在本地
git log --oneline -n10
git  reset --hard <commit id>
git push -f

https://blog.csdn.net/ligang2585116/article/details/71094887

删除分支(远程/本地)

https://blog.csdn.net/qq_32452623/article/details/54340749

储藏(Stashing)

应用场景: 当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。

https://git-scm.com/book/zh/v1/Git-%E5%B7%A5%E5%85%B7-%E5%82%A8%E8%97%8F%EF%BC%88Stashing%EF%BC%89

删除本地修改

1. git clean -df
2. git reset --hard
第一个命令只删除所有untracked的文件,如果文件已经被tracked, 修改过的文件不会被回退。
而第二个命令把tracked的文件revert到前一个版本,对于untracked的文件(比如编译的临时文件)都不会被删除。
--------------------- 
作者:王的璋 
来源:CSDN 
原文:https://blog.csdn.net/qilvmilv/article/details/53559939 
版权声明:本文为博主原创文章,转载请附上博文链接!

git pull => git fetch && git merge

Git global setup

git config --global user.name "<用户名>"
git config --global user.email "<邮箱>"

Create a new repository

git clone git@<服务器地址>: <目录路径>/website.git
cd website
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Existing folder

cd existing_folder
git init
git remote add origin git@<服务器地址>: <目录路径>/website.git
git add .
git commit -m "Initial commit"
git push -u origin master

Existing Git repository

cd existing_repo
git remote rename origin old-origin
git remote add origin git@<服务器地址>: <目录路径>/website.git
git push -u origin --all
git push -u origin --tags

强制合并某个远程分支

git fetch --all
git reset --hard origin/master (这里master要修改为对应的分支名)

拉取 远程仓库中 dev 分支上的代码

git clone xxxxxxx/test.git
cd test
git pull origin dev

删除 本地分支

查看项目的分支们(包括本地和远程) 
命令行 : $ git branch -a     例如,$ git branch -a 

先切换到已有的一个分支,再删除本地分支 
命令行 : $ git branch -d <BranchName>

在本地BranchA上修改的内容,切换到 本地BranchB 上

## 方法一:(推荐)
1. 在 BranchA 先储藏
$ git stash

2. 切换到 BranchB
$ git checkout B

3. 在 BranchB 上弹出 储藏内容
$ git stash pop 

## 方法二:
1. 不在 BranchA 上 git commit 
2. 在 BranchA 上 新建 BranchB
  $ git checkout -b BranchB

3. 切换到 BranchB
  $ git checkou BranchB
  这时候 修改的内容在 BranchA 和 BranchB 上都有 

4. 在 BranchB 上 commit 
  $ git commit -a 
  修改保留在 BranchB 上

5. 切换到 BranchA 
  BranchA 上没有保留修改的内容

在master分支合并特定分支的某一次提交记录

场景:feature分支上的Commit 62ecee非常重要,它含有一个bug的修改,或其他人想访问的内容。无论什么原因,你现在只需要将62ecee 合并到master,而不合并feature上的其他commits,所以我们用git cherry-pick命令来做:

1. 查看 特定分支branchA 上的 commit 历史记录
$ git checkout branchA
$ git log 
  commit 62ecee 

2. 切换至master 分支
$ git checkout master

3. 合并 提交记录  62ecee 
$ git cherry-pick 62ecee  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章