Theo tài liệu về git, git pull
sẽ thực hiện tìm nạp nhánh hiện tại và sau đó chạy git merge
để hợp nhất các thay đổi. Sau khi một đồng nghiệp cam kết và đẩy những thay đổi của anh ấy đến máy chủ, tôi đã đi lấy chúng.Tại sao chạy `git pull` xóa các thay đổi đã cam kết của tôi?
Trước tiên, tôi cam kết thay đổi mà tôi có:
git add src
git add war
Chạy git status
khẳng định rằng những thay đổi của tôi đã được dàn dựng để được cam kết. Tiếp theo, tôi chạy:
git commit -m "Another commit to work on scrolling"
Sau đó, tôi kéo xuống thay đổi:
git pull
này cho tôi xem một số cảnh báo:
remote: Counting objects: 31, done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 16 (delta 13), reused 3 (delta 0)
Unpacking objects: 100% (16/16), done.
From github.com:FullCreative/Loop
+ 3f00b3f...2e09a49 master -> master (forced update)
Warning: fetch updated the current branch head.
Warning: fast-forwarding your working tree from
Warning: commit 3f00b3f6cb6ed6beddb16baa92f1beaa82b6944c.
Already up-to-date.
Cuối cùng, tôi đẩy thay đổi của tôi - hay đúng hơn là cố gắng để đẩy họ - tới máy chủ:
git push
Câu hỏi:
Bây giờ, tại sao điều này lại xóa tất cả thay đổi của tôi? Ngay cả các tệp mà đồng nghiệp của tôi không sửa đổi đã bị xóa khỏi thư mục làm việc của tôi.
điều khiển Output:
Đối triệt để, dưới đây là giao diện điều khiển đăng nhập từ thiết bị đầu cuối của tôi. Điều này cho thấy các lệnh tôi chạy, và đầu ra từ những lệnh:
[email protected]:~$ cd git
[email protected]:~/git$ l
Loop/ Loop-1-18.tar.gz
[email protected]:~/git$ cd Loop
[email protected]:~/git/Loop$ l
Loop/ README readme.textile
[email protected]:~/git/Loop$ l
Loop/ README readme.textile
[email protected]:~/git/Loop$ cd Loop
[email protected]F136FM:~/git/Loop/Loop$ l
src/ war/
[email protected]:~/git/Loop/Loop$ git add src
[email protected]:~/git/Loop/Loop$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: src/com/fullcreative/loop/Globals.java
# modified: src/com/fullcreative/loop/LoopController.java
# modified: src/com/fullcreative/loop/LoopDao.java
# modified: src/com/fullcreative/loop/LoopDaoJdo.java
# modified: src/com/fullcreative/loop/LoopService.java
# new file: src/com/fullcreative/loop/TestLoopController.java
#
# 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: war/WEB-INF/LoopDispatcher-servlet.xml
# modified: war/WEB-INF/appengine-web.xml
# modified: war/WEB-INF/applicationContext-security.xml
# modified: war/WEB-INF/html/index.html
# modified: war/WEB-INF/web.xml
# modified: war/js/loop.js
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# war/WEB-INF/admin/local-storage.html
[email protected]:~/git/Loop/Loop$ git add war
[email protected]:~/git/Loop/Loop$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: src/com/fullcreative/loop/Globals.java
# modified: src/com/fullcreative/loop/LoopController.java
# modified: src/com/fullcreative/loop/LoopDao.java
# modified: src/com/fullcreative/loop/LoopDaoJdo.java
# modified: src/com/fullcreative/loop/LoopService.java
# new file: src/com/fullcreative/loop/TestLoopController.java
# modified: war/WEB-INF/LoopDispatcher-servlet.xml
# new file: war/WEB-INF/admin/local-storage.html
# modified: war/WEB-INF/appengine-web.xml
# modified: war/WEB-INF/applicationContext-security.xml
# modified: war/WEB-INF/html/index.html
# modified: war/WEB-INF/web.xml
# modified: war/js/loop.js
#
[email protected]:~/git/Loop/Loop$ git commit -m "Another commit to work on scolling"
[master 3f00b3f] Another commit to work on scolling
13 files changed, 726 insertions(+), 218 deletions(-)
create mode 100644 Loop/src/com/fullcreative/loop/TestLoopController.java
create mode 100644 Loop/war/WEB-INF/admin/local-storage.html
[email protected]:~/git/Loop/Loop$ git pull
remote: Counting objects: 31, done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 16 (delta 13), reused 3 (delta 0)
Unpacking objects: 100% (16/16), done.
From github.com:FullCreative/Loop
+ 3f00b3f...2e09a49 master -> master (forced update)
Warning: fetch updated the current branch head.
Warning: fast-forwarding your working tree from
Warning: commit 3f00b3f6cb6ed6beddb16baa92f1beaa82b6944c.
Already up-to-date.
[email protected]:~/git/Loop/Loop$ git push
Everything up-to-date
[email protected]:~/git/Loop/Loop$ git status
# On branch master
nothing to commit (working directory clean)
[email protected]:~/git/Loop/Loop$ git history
git: 'history' is not a git command. See 'git --help'.
[email protected]:~/git/Loop/Loop$ git --help
usage: git [--version] [--exec-path[=<path>]] [--html-path]
[-p|--paginate|--no-pager] [--no-replace-objects]
[--bare] [--git-dir=<path>] [--work-tree=<path>]
[-c name=value] [--help]
<command> [<args>]
The most commonly used git commands are:
add Add file contents to the index
bisect Find by binary search the change that introduced a bug
branch List, create, or delete branches
checkout Checkout a branch or paths to the working tree
clone Clone a repository into a new directory
commit Record changes to the repository
diff Show changes between commits, commit and working tree, etc
fetch Download objects and refs from another repository
grep Print lines matching a pattern
init Create an empty git repository or reinitialize an existing one
log Show commit logs
merge Join two or more development histories together
mv Move or rename a file, a directory, or a symlink
pull Fetch from and merge with another repository or a local branch
push Update remote refs along with associated objects
rebase Forward-port local commits to the updated upstream head
reset Reset current HEAD to the specified state
rm Remove files from the working tree and from the index
show Show various types of objects
status Show the working tree status
tag Create, list, delete or verify a tag object signed with GPG
See 'git help <command>' for more information on a specific command.
[email protected]:~/git/Loop/Loop$ git log
commit 2e09a498829e2b12e4bbdff8f8c39c2ce47dacb7
Author: Josh Iwata < [email protected]>
Date: Thu Mar 15 14:25:28 2012 -0700
Design revamp
commit 2927f853041dab06a48861498adc945d6969865a
Author: James Mortensen <[email protected]>
Date: Wed Mar 14 09:25:46 2012 -0700
Removed Alert.
commit 07deceb9cb3cda6b913b2bde96970682ecdbddb7
Author: James Mortensen <[email protected]>
Date: Wed Mar 14 09:04:12 2012 -0700
Added url pattern to the servlet to get rid of the error.
commit f2d48bb735e5c3f1d3cb88ad80483e5596aaa063
Author: James Mortensen <[email protected]>
Date: Tue Mar 13 15:44:28 2012 -0700
iJames took over again!
commit 88fb39c0b37b2dfc5a13e30f212cba525e33f531
Author: David Raffauf <[email protected]>
Date: Tue Mar 13 15:42:26 2012 -0700
I test update
commit 5b1af15d166fc766a1a892a13865d9c5be506a6f
Author: Josh Iwata < [email protected]>
[email protected]:~/git/Loop/Loop$ git status
# On branch master
nothing to commit (working directory clean)
[email protected]:~/git/Loop/Loop$ git pull
Already up-to-date.
[email protected]:~/git/Loop/Loop$ l
src/ war/
[email protected]:~/git/Loop/Loop$ cd src
[email protected]:~/git/Loop/Loop/src$ l
cacerts.bin com/ log4j.properties META-INF/
[email protected]:~/git/Loop/Loop/src$ cd com
[email protected]:~/git/Loop/Loop/src/com$ l
fullcreative/
[email protected]:~/git/Loop/Loop/src/com$ cd fullcreative/loop/
[email protected]:~/git/Loop/Loop/src/com/fullcreative/loop$ l
AbstractBaseController.java Comment.java LoopController.java PusheableResponse.java
AccountController.java EmailService.java LoopDao.java samples/
Account.java EnvironmentService.java LoopDaoJdo.java security/
AccountService.java FormManagerController.java Loop.java Settings.java
AuthenticatorController.java Globals.java LoopService.java TagSubscription.java
AuthenticatorService.java GoogleCometChannelService.java LoopServlet.java UserDao.java
Cacheable.java HttpRequestHandler.java Memcached.java UserDaoJdo.java
Card.java InvitationDetailsDaoJdo.java OAuth2User.java User.java
CardManagerController.java InvitationDetails.java OAuth2UserService.java
CardTemplateService.java JSONPResponse.java PMF.java
[email protected]:~/git/Loop/Loop/src/com/fullcreative/loop$ cd/
[email protected]:/$ cd
[email protected]:~$ cd workspace
[email protected]:~/workspace$ l
ActiveResponseWebService/ ConversionChromeApp.pem GAE Spring Security/ LoopSVN/
Adaptiv3ChatDemo/ ConversionChromeExtension/ GAE Spring Security Demo/ Loop.tar.gz
Adaptiv3ChatDemo-2.zip ConversionSupportChromeApp/ gdata-samples-read-only/ ReverseProxyDemo/
Adaptiv3ChatDemo.zip ConversionSupportLive/ LexLegal/ rhino-for-webapps-demo/
AmazonC3Demo/ ConversionSupportLiveNew/ LexMatter/ SB4.0/
App-AnswerConnect/ ConversionSupportLiveNew2/ local_db.bin SB4.0_branch/
appengine-java-sdk-1.6.2.1/ ConversionSupportLive.zip Loop/ sokolove_lawfirm/
appengine-java-sdk-1.6.2.1.zip Conversion Support- Mobile/ Loop2/ test/
appengine-java-sdk-1.6.3.1/ ConversionSupportWebsite/ Loop-Oauth2-Demo/ Test/
appengine-java-sdk-1.6.3.1.zip ConverstionSupportMobileV1/ LoopRepo/ Thinclient-c3/
AppointmentSchedulingAppGAEJ/ ConverstionSupportMobileV2/ LoopRepo-1-12-2-.tar.gz Thinclient-c3.zip
ChatClientWebservices/ datastore-indexes-auto.xml LoopRepo1-12.tar.gz
ContactManagementSystemDataStore/ EchopassChatClient/ LoopRepo1-13.tar.gz
ConversionChromeApp0.1.1109.6.crx FullTextSearchService/ LoopRepo.tar.gz
[email protected]:~/workspace$ cd Loop
[email protected]:~/workspace/Loop$ l
Loop/ README readme.textile
[email protected]:~/workspace/Loop$ cd Loop
[email protected]:~/workspace/Loop/Loop$ l
src/ war/
[email protected]:~/workspace/Loop/Loop$ cd src
[email protected]:~/workspace/Loop/Loop/src$ l
cacerts.bin com/ log4j.properties META-INF/
[email protected]:~/workspace/Loop/Loop/src$ cd com
[email protected]:~/workspace/Loop/Loop/src/com$ l
fullcreative/
[email protected]:~/workspace/Loop/Loop/src/com$ cd fullcreative/
[email protected]:~/workspace/Loop/Loop/src/com/fullcreative$ l
loop/
[email protected]:~/workspace/Loop/Loop/src/com/fullcreative$ cd loop
[email protected]:~/workspace/Loop/Loop/src/com/fullcreative/loop$
[email protected]:~/workspace/Loop/Loop/src/com/fullcreative/loop$ l
AccountController.java Card.java LoopController.java Memcached.java UserDao.java
Account.java Comment.java LoopDao.java OAuth2User.java UserDaoJdo.java
AccountService.java EnvironmentService.java LoopDaoJdo.java OAuth2UserService.java User.java
AuthenticatorController.java HttpRequestHandler.java Loop.java PMF.java
AuthenticatorService.java InvitationDetailsDaoJdo.java LoopService.java samples/
Cacheable.java InvitationDetails.java LoopServlet.java security/
[email protected]:~/workspace/Loop/Loop/src/com/fullcreative/loop$ cd ../../../../
[email protected]:~/workspace/Loop/Loop$ cd ../../..
[email protected]:~$ cd git
[email protected]:~/git$ l
Loop/ Loop-1-18.tar.gz
[email protected]:~/git$ cd Loop
[email protected]:~/git/Loop$ l
Loop/ README readme.textile
[email protected]:~/git/Loop$ cd Loop
[email protected]:~/git/Loop/Loop$ l
src/ war/
[email protected]:~/git/Loop/Loop$
UPDATE:
tôi có thể truy cập vào các cam kết của mình bằng cách kiểm tra ra khỏi băm:
git checkout 3f00b3f6cb6ed6beddb16baa92f1beaa82b6944c
Vậy tại sao những thứ này không được đưa vào máy chủ của tôi?
CẬP NHẬT # 2
Kết quả git reflog
:
3f00b3f [email protected]{0}: checkout: moving from master to 3f00b3f6cb6ed6beddb16baa92f1beaa82b6944c
2e09a49 [email protected]{1}: checkout: moving from 3f00b3f6cb6ed6beddb16baa92f1beaa82b6944c to master
3f00b3f [email protected]{2}: checkout: moving from master to 3f00b3f6cb6ed6beddb16baa92f1beaa82b6944c
2e09a49 [email protected]{3}: pull : forced-update
3f00b3f [email protected]{4}: commit: Another commit to work on scolling
2927f85 [email protected]{5}: commit: Removed Alert.
07deceb [email protected]{6}: commit: Added url pattern to the servlet to get rid of the error.
f2d48bb [email protected]{7}: commit: iJames took over again!
88fb39c [email protected]{8}: pull : fast-forward
a22893e [email protected]{9}: commit: Committing a very important change to intro.css. Not!
ac19755 [email protected]{10}: pull : fast-forward
d2a401d [email protected]{11}: commit: This is a test
85a6328 [email protected]{12}: commit: Modified gitignore yet again.
251f557 [email protected]{13}: commit: Committing the classpath. Hope it works.
4e7a428 [email protected]{14}: checkout: moving from local_master to master
97aa2d7 [email protected]{15}: checkout: moving from master to local_master
4e7a428 [email protected]{16}: commit: Added Admin panel for making system changes. Modified the title and description so they go into edit
38dc2fa [email protected]{17}: commit: Added notifications and real time comet.
bc2f950 [email protected]{18}: commit: Real time updates and chrome notifications.
bc2f950 [email protected]{19}: commit: Adding TagSubscription class.
5e696f4 [email protected]{20}: commit: Bulk delete, fixed delete bug, tagging features and subscriptions. Added more server-side caching. Ad
7b41cc2 [email protected]{21}: commit: adding dropdown plugin files
d9e3716 HE[email protected]{22}: commit: Added filter list to top, made dynamic, and deployed to 2-20.
e256d21 [email protected]{23}: commit: Cleaned up the HTML code.
d9e3716 [email protected]{24}: commit: Third time is a charm.
3e0863f [email protected]{25}: commit: Here is the 2nd commit for tag-it.
13e70c8 [email protected]{26}: commit: Added the tag-it tags to the application and connected to the database.
0893615 [email protected]{27}: commit: Deployed 2-7 and made default version.
0073e04 [email protected]{28}: commit: Deployed to 2-7 and made the default version. Finalized mobile form, although the error class shadow
0073e04 [email protected]{29}: commit: test
4351a93 [email protected]{30}: commit: Added notifications for comments and cleaned up mobile form.
5674cfb [email protected]{31}: commit: Added Developer API call to switch users for @loopround.com users.
a22808f [email protected]{32}: commit: updating
8fa1a39 [email protected]{33}: commit: updating the repository
8fa1a39 [email protected]{34}: commit: Deployed to http://0-9-2012-1-27.loopaback.appspot.com/
4786be1 [email protected]{35}: commit: Updating the inbox counts on each loop on page load. Also changed the style of the inbox count on the
33bf8d5 [email protected]{36}: commit: Adding elastic JS library.
095d8e6 [email protected]{37}: commit: Hooked up inbox counts and colors on the loops.
d3275ef [email protected]{38}: commit: committing.
a66024c [email protected]{39}: commit: Put in place email notifications for sharing. Put in place more logging statements to catch errors. F
a66024c [email protected]{40}: commit: Fixed sharing settings and cleaned up some of the code. Fixed the invitation system and also added so
e87ca75 [email protected]{41}: commit: Fixed sharing settings and cleaned up some of the code. Fixed the invitation system and also added so
e87ca75 [email protected]{42}: commit: Got rid of login form and also integrated Loop feedback form.
b2d7da9 [email protected]{43}: commit: Eliminated the login page and also integrated the Feedback Loop Form.
b2d7da9 [email protected]{44}: commit: Added the Loop Form.
e7ea0eb [email protected]{45}: commit: Added the Loop Form to the Loop Application and connected it to the services.
e7ea0eb [email protected]{46}: commit: Trying to get all the files for the settings page in the repo.
97aa2d7 [email protected]{47}: commit: test
36d4841 [email protected]{48}: commit: Got the settings page in place so users can be added and removed.
cf83cbd [email protected]{49}: commit: Committing this file because I want it to accept changes, not have the repository just simply force m
e7ccb2d [email protected]{50}: commit: Merged Josh's changes, I hope!
90ee5a5 [email protected]{51}: commit: Merged Josh's changes. Why I have to do this manually, I don't know?
3fc14b4 [email protected]{52}: commit: Service giving ability to send email to a user.
2ce4a6c [email protected]{53}: commit: Worked on the UI for adding a user to a Loop. Also fixed the display so it shows all active users ass
21caa9b [email protected]{54}: commit: Updated the application-manifest.xml file with the new LoopRound name and latest version info.
4330694 [email protected]{55}: commit: Deployed to http://0-9-2012-1-12-1715.loopaback.appspot.com/# and made the default version. Added in
adde3cd [email protected]{56}: commit: Can now add new loops from the Loop screen. To rename the loop or access it's settings page; currentl
6902710 [email protected]{57}: commit: Settings page is functional to edit the loop name.
6980c79 [email protected]{58}: merge branch 'master' of [email protected]:FullCreative/Loop.git: Fast-forward
e364173 [email protected]{59}: commit: Added Josh's CSS to style.css. 2nd attempt.
0e464f1 [email protected]{60}:
.git/tập tin cấu hình
[core]
repositoryformatversion = 0
filemode = true
logallrefupdates = true
autocrlf = false
[remote "origin"]
url = [email protected]:FullCreative/Loop.git
fetch = +refs/heads/*:refs/heads/*
push = refs/heads/*:refs/heads/*
[branch "master"]
remote = origin
merge = refs/heads/master
'git reflog' nói gì? –
'gây tử vong: Không phải là kho lưu trữ git (hoặc bất kỳ thư mục chính nào): .git'. Tôi hiện đang kiểm tra bằng cách sử dụng băm đó ... – jmort253
Hoặc những gì 'gitk' hiển thị? – CanSpice