【Git 】命令总结记录

xiaoxiao2021-02-28  61

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

文章目录

一、提交代码二、合并代码 other创建分支:查看所有分支切换分支合并某分支到当前分支:创建+切换分支:撤销 / 回滚删除分支(远程/本地)储藏(Stashing)删除本地修改git pull => git fetch && git mergeGit global setupCreate a new repositoryExisting folderExisting Git repository强制合并某个远程分支拉取 远程仓库中 dev 分支上的代码删除 本地分支在本地BranchA上修改的内容,切换到 本地BranchB 上在master分支合并特定分支的某一次提交记录.gitignore 失效

一、提交代码

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-工具-储藏(Stashing)

删除本地修改

1. git clean -df 2. git reset --hard 第一个命令只删除所有untracked的文件,如果文件已经被tracked, 修改过的文件不会被回退。 而第二个命令把tracked的文件revert到前一个版本,对于untracked的文件(比如编译的临时文件)都不会被删除。 --------------------- 作者:王的璋 来源: 原文: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

.gitignore 失效

原因是:在本地存有track 缓存,清除掉,重新提交就好

git rm -r --cached . git add . git commit -m 'update .gitignore'
转载请注明原文地址: https://www.6miu.com/read-2623634.html

最新回复(0)