You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
$ touch readme.txt
$ git add readme.txt
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: readme.txt
new file: user git/status.jpg
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.txt
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
readme.txt
nothing added to commit but untracked files present (use "git add" to track)
添加文件
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: readme.txt
commit一个文件:
jk@jk-pc /cygdrive/e/learn/git/img
$ git status
On branch master
nothing to commit, working tree clean
5.版本回退
通过git log查看提交记录
$ git log
commit 1e5783173a17ea5fc2cd9849cfa74214ef2da4e8
Author: name <email@example.com>
Date: Mon Mar 27 04:57:05 2017 +0100
append
$ git checkout -b dev
#相当于
$ git branch dev #创建分支
$ git checkout dev #切换到dev分支
ii) 查看分支
$ git branch
* dev
master
*表示当前操作的branch
iii) 合并分支
切换到master后,合并dev分支
$ git checkout master
$ git merge dev
iv) 删除分支
除非需要将分支推送到远程仓库,否则分支就是个人所见的。
$ git branch -d dev
v) 查看分支
$ git branch
更新本地仓库
$ git pull
如果出现冲突则,可以使用diff命令查看差异。
git diff <source_branch><target_branch>
冲突处理
在merge过程中,出现的冲突时:
$ git merge feature1
error: Merging is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容:
<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1
1.创建账户
安装完成后创建账户
可以通过如下命令查看git的配置
2.创建版本库
$ cd dir $ mkdir repo $ git init
会在repo目录下生成一个.git文件,用于跟踪/管理版本库。
3.添加文件
3.提交文件
$ git commit -m "append" [master (root-commit) 1e57831] append 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 readme.txt create mode 100644 user git/status.jpg
使用git log命令可以看到提交的日志
4.状态变化
新建一个文件,未添加前状态为“Untracked”,即未被Git版本追踪:
添加文件
$ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: readme.txt
commit一个文件:
5.版本回退
通过git log查看提交记录
使用reset命令,回退版本
6.清空工作区文件的状态
7.删除命令
8.远程仓库
无密码配置
i) 生成ken-gen
$ ssh-keygen -t rsa -C "youremail@example.com"
window下把生成的私钥(id_rsa)与公钥(id_rsa.pub)拷贝到cygwin目录下:
cp /C/Users/user_name/.ssh/* /home/user_name/.ssh/
ii) 配置GitHub SSH Keys
拷贝公钥到->GitHub->Account->Settings->SSH Keys
本地仓库与远程仓库关联
i) 本地创建仓库
ii) 创建远程仓库
在Github中创建一个同名仓库
iii) 把本地仓库内容推送到远程仓库
iv) 把本地仓库内容推送到远程仓库
加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,
还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
克隆远程仓库到本地
9.分支管理
分支操作
i) 创建分支
ii) 查看分支
$ git branch * dev master
*表示当前操作的branch
iii) 合并分支
切换到master后,合并dev分支
iv) 删除分支
除非需要将分支推送到远程仓库,否则分支就是个人所见的。
v) 查看分支
更新本地仓库
如果出现冲突则,可以使用diff命令查看差异。
冲突处理
在merge过程中,出现的冲突时:
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容:
修改出现冲突的文件,重新add并commit。
使用git log命令可以看到分支并不的情况:
最后删除分支
10.标签管理
i) 切换到需要打tag的分支:
ii) 使用tag命令打tag:
iii) 使用tag查看所有tag:
iv) 对历史commit打tag:
v) 设置tag的说明:
$ git tag -a v0.1 -m "version 0.1 released" 3628164
vi) 删除tag:
vii) 推送tag到远程:
例如需要把本地的tag推送到github中:
那么在github项目的release中就会出现刚刚推送的tag。
也可以一次性推送全部的tag:
如果需要删除远程tag,那么需要先删除本地tag,然后push到远程来删除远程仓库中的bug:
参考内容:
The text was updated successfully, but these errors were encountered: