注:第一次使用git提交代码前需要先设置用户名和邮箱 1、重置用户名和邮箱
git config --global user.name "username"
git config --global user.email "email"
设置完后可以使用git config --list查看即可
也可以单独查看
如:
查看用户名和邮箱地址:
git config user.name
git config user.email
2、清除缓存在git中的用户名和邮箱
git credential-manager uninstall
3、git init 初始化git本地仓库
你会发现文件下多了一个.git文件,说明仓库初始成功
4、git clone + 远程地址 克隆代码
5、git status 查看监听的状态 (可选)
6、git add . 全部添加到可操作的状态 (当前状态应该为绿色)
7、git commit -m 'first' 把监听的文件添加到本地仓库
8、git log 查看修改日志 (可选)
9、git remote add origin http http是你的运程仓库地址 需要你在 github 或者 码云上创建
10、git push -u origin master 提交到主分支上
11、git checkout -b 分支的名称 创建并切换到新分支
12、git branch 查看分支
13、git branch -r 查看远程分支
14、git checkout 分支名称 切换分支
15、git push -u origin 分支名称
16、git reset --hard commit_id 代码回退
17、合并
git merge 分支名称 要确保你是在master 分支上操作
18、删除
git branch -d 分支名称 删除本地分支
git branch -D 分支名称 强制删除本地分支
git push origin --delete 分支名称 删除远程分支
19、重命名
git branch -m 要改的本地分支名 修改后的分支名(修改本地分支)
git push origin :远程修改前的分支名(删除远程分支)
git push origin 修改后的分支名:修改后的分支名(push 到远程分支)
git branch --set-upstream 修改后的分支名 origin/修改后的分支名(绑定远程分支)
20、代码拉取
git pull origin master
21、强制删除远程分支
git push origin --delete 分支名称
出现这个问题是因为gitee中的文件不在本地代码目录中,可以通过如下命令进行代码合并,之后在提交 代码合并
22、git merge 分支名称 本地合并
23、git push 提交到远程
24、git pull --rebase origin master 同步远程和本地的代码
25、切分支
git checkout -b v2.1.4-prod-fix-0825 origin/v2.1.4-prod-fix-0825
- 这样就可以在创建新分支的同时与远程分支关联了,之后拉取代码和提交代码只需要
git pull
和git push
了
26、如果使用git checkout -b 分支名 origin/分支名 来切换远程分支失败,并报错
-
首先要确定你在远程仓库是否创建成功dev分支
-
git branch -r
-
输入这个命令后查看远程所有的分支,检查你所需要下拉的分支是否已经在远程仓库底下。
-
如果分支已经创立好了,而执行还是同样的错误,那么就需要从git上重新拉取数据然后再创建远程分支到本地
-
git pull
-
git checkout -b 分支名 origin/分支名
-
如果你的远程分支仓库并未创建出来,那么你可以选择执行下面这条语句,在远程仓库创建你需要的分支
git push origin 分支名
创建完分支后再重复前面第一步操作检查是否创建成功,然后再重复第二步操作,从git上重新拉取数据然后再创建远程分支到本地,即可实现下拉远程新分支。
27、git fetch
- git pull = git fetch + git merge
git fetch 命令:
$ git fetch <远程主机名> //这个命令将某个远程主机的更新全部取回本地
如果只想取回特定分支的更新,可以指定分支名:
$ git fetch <远程主机名> <分支名> //注意之间有空格
最常见的命令如取回origin
主机的master
分支:
$ git fetch origin master
取回更新后,会返回一个FETCH_HEAD
,指的是某个branch在服务器上的最新状态,我们可以在本地通过它查看刚取回的更新信息:
$ git log -p FETCH_HEAD
28、解决git每次拉代码都需要输入账号密码的问题
- 在当前项目目录下执行`git config --global credential.helper store`命令(在~/.gitconfig目录下多出一个文件,用来记录你的密码和帐号)
- 再拉一次代码git pull
- 最后一次输入账号和密码,以后再拉取代码就不用输了
29、修改最后一次commit的注释信息
- 1、
git commit --amend
- 2、按“i”键,进入编辑模式进行修改
- 3、开始编辑修改
- 4、修改完成后。按ESC键退出编辑模式
- 5、按组合键 Shift + :
- 6、输入wq,回车(保存退出)
- 7、修改完成,继续git pull、git push
30、将修改暂存到本地
- 1、保存数据在堆栈中
git stash save 'message(保存到堆栈中的数据的信息)'
- 2、堆栈中的列表
git stash list
// 返回数据:
// stash@{0}: On master: stash1
// stash@{1}: On master: stash2
- 3、从堆栈中将刚才保存的未提交的数据恢复出来
git stash pop stash@{0}
或
git stash apply stash@{0}
// pop和apply的区别
// git stash pop 将当前stash中的内容弹出,并应用到当前分支对应的工作目录上,该命令将堆栈中最近保存的内容删除。
// git stash apply 将堆栈中的内容应用到当前目录,该命令不会将内容从堆栈中删除,也就说该命令能够将堆栈的内容多次应用到工作目录中,适应于多个分支的情况。
31、git命令合并某一个分支的某个commit到目标分支
如:A分支上有a、b、c三个commit,B分支上有d、e、f三个commit,然后需要将A分支上的b合并到B分支上
- 1、切换到要合并的目标分支上
git checkout B
- 2、选择一个commit版本号,合并进当前分支
git cherry-pick xxxx(对应commit版本号)
// git cherry-pick xxxx xxxxx 选择多个commit进行合并
- 3、推送到目标分支远程仓库
git push
- 高级用法
//增加 -x 参数,表示保留原提交的作者信息进行提交。然后在生成的新提交信息中增加一行记录,表明这个新提交是从之前的那一个提交衍生出来的
git cherry-pick -x <commit_id>
32、git从某一个commit新建分支进行开发
-
- 使用
git log
查看历史commit信息
- 使用
-
- 使用命令
git checkout [commitid] -b [new-branch-name]
来根据某个commit记录创建新分支
git checkout xxxxxxxxxxxxx -b develop_1.0_new // 最新代码是xxxxxxxxxxxxx这个提交记录
- 使用命令
-
git push origin [new-branch-name]
将新分支推送到远程仓库
33、本地项目git地址切换
-
- 检查当前地址:
git remote -v
-
- 切换地址:
git remote set-url origin xxx
-
- git pull、git push将原git仓库新提交的代码提交到现git仓库