git常用操作
- 前言
- 拉取代码
- 查看远程分支
- 合并分支
- 切换分支
- 查看状态
- 添加管理
- 提交代码
- 查看提交记录
- 推送代码
- 拉取代码
- 创建分支
- 账号切换
前言
作为一名拥有鱼的记忆的程序员,每次换了公司以后或者是换了电脑以后使用git的时候都会莫名的紧张,生怕一顿误操作把远程代码覆盖了,以下做记录方便以后翻看。此文比较适合首次将项目拉取到本地的情况阅读。
拉取代码
git clone https://xxxxxx.git
此时能够把公司或者项目的代码拉下来了,但是通常都只有master的分支
查看远程分支
git branch -a
加上-a 可以看到所有的分支,本地的以及远程的所有分支
- master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
合并分支
一般都是在develop上进行开发的,所以我们要将切换到develop分支上进行操作,这时就需要fetch操作
git fetch origin develop:develop
此时就会创建一个develop分支在本地,并且将远程develop的代码拉了下来
我们可以输入刚才的 branch 命令看到分支情况
- master
develop
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
切换分支
此时我们所在的分支还在master,使用checkout命令就可以切到其他分支
git checkout develop
再次输入branch命令就可以看到
- develop
master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
查看状态
切换到develop分支之后我们就可以愉快地写代码了,在我们写一堆代码(bug)以后,将这些代码上传之前可以看下我们修改的状态
git status
通过这个命令可以看到我们对git目录下做了哪些修改
On branch develop
Untracked files:
(use "git add <file>..." to include in what will be committed)
git 笔记的副本.rtf
nothing added to commit but untracked files present (use "git add" to track)
这里我在仓库下添加了一个文件,但是还没有对该文件进行管理。
添加管理
git add /Users/xxx/git\ 笔记的副本.rtf
如果要管理文件就直接把文件的目录放进去,文件夹就放文件夹目录,此时对文件进行了管理,使用刚才status状态查看命令,可以看到是否已经添加成功
On branch develop
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: git 笔记的副本.rtf
提交代码
git commit -m 提交代码的说明
此时我们已经将代码在本地commit
查看提交记录
git log
通过log可以看到我们代码的提交记录,q推出
推送代码
git push origin develop
origin为远程仓库名,develop则是分支名
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 862 bytes | 862.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-5.0]
To https://xxxx.git
6df31f8..37cae6f develop -> develop
此时提示成功即代码推送到远程仓库成功
拉取代码
差点忘了说了,在推送代码之前,要先拉取代码,否则如果有人提交过代码后会推送失败
git pull origin develop
创建分支
$ git checkout -b develop
这样可以在本地创建一个名字叫develop的分支
推送到远程分支:
$ git push origin develop:develop
这样可以将本地的develop分支推送到远程的develop分支中