常用git命令整理
1. 拉取最新代码
git reset --hard HEAD~5 //回退5次提交
git pull //拉取最新
git reset --hard HEAD // 回退到当前版本
2. 提交代码
git status //查看当前仓库状态
git add . //加上所有修改项
git add filename //添加指定文件
git commit //提交
git commit --amend //重新编辑提交comment
git push origin HEAD:refs/for/分支 //push到远程分支
3. 分支管理
为便于理解,我在github新建了一个仓库:test3
3.1 查看所有分支(包括本地分支和远程分支)
git branch //查看本地所有分支
3.2 查看远程所有分支
git branch -a //查看远程所有分支
3.3 追踪远程分支
方法1:先手动创建一个新分支,切换到新分支,再将新分支追踪远程分支
1. 在本地建立一个新分支
git branch newBranch
2. 切换到创建的新分支
git checkout newBranch
3. 用创建的新分支追踪远程的一个分支
git branch --set-upstream-to=origin/remote_branch_name
方法2: 自动创建本地分支,并追踪到远程分支
1. 一句直接追踪远程分支,并自动创建本地分支
git branch --set-upstream-to=origin/remote_branch_name newBranch
这种方式需要保证本地没有名为newBranch的分支;运行成功后本地会自动创建名为newBranch的分支, 并且此分支追踪远程分支remote_branch_name,运行之后仍然处于执行命令前的分支,不会自动切换 到newBranch分支
4. 强制用远程代码覆盖本地代码
git fetch --all //从远程拉取最新的代码 不merge
git reset --hard origin/develop //使用指定分支的代码(此处develop)强制覆盖代码
git pull //从远程拉取最新的代码 自动merge
5. git服务端初始化仓库
sudo git init --bare ./reponame.git
根据实际需求决定是否需要执行以下命令:
进入/home目录,递归创建用户目录、仓库目录、项目目录:mkdir -p git/repository/gittest.git
进入仓库目录repository,初始化项目目录:git init --bare ./gittest.git
修改仓库目录repository的所有者:chown -R git:git /home/git/repository